Conservation laws
A conservation law is a type of PDE that describes the transport of extensive quantities like mass, momentum, and energy. The most general form of a hyperbolic conservation law for a field $q$ is
$$\frac{\partial q}{\partial t} + \nabla\cdot f(q) = s,$$
where $f$ is the flux function and $s$ the sources. The solution variable $q$ could be a scalar, vector, or tensor field. Here we'll look at the simplest conservation law of them all, the advection equation: $q$ is a scalar field and $f(q) = qu$ for some velocity field $u$. As we'll see, there are lots of ways to screw up something as simple as the advection equation, so learning what the common error modes are will help when attacking harder problems like the shallow water or Euler equations.
One of the challenging things about solving hyperbolic problems is that the class of reasonable solutions includes functions with jump discontinuities, and for some problems this is true even when the initial data are smooth. Compare that to, say, elliptic problems, where the solution is almost always smoother than the input data. For elliptic problems, it's common to use continuous basis functions, but when we try to use the same basis for conservation laws we can run up against some very nasty stability problems. It's possible to work around these issues by using tricks like the streamlined upwind Petrov-Galerkin method. But almost any approach to stabilizing a CG discretization introduces (1) free parameters that can be difficult to tune right and (2) an unrealistic level of numerical diffusion. For these reasons, the discontinuous Galerkin method is very popular for these kinds of problems. The DG method has good local conservation properties, it can achieve high-order accuracy where the solution is smooth, and there are more options in how you guarantee a stable scheme.
DG is a huge subject and I couldn't possibly do justice to it here. If you want to read more about it, this paper by Cockburn and Shu is a great reference, as are these notes by Ralf Hartmann and this dissertation by Michael Crabb. Instead, I'll focus here on the effects of some of the choices you have to make when you solve these types of problems.
Input data¶
First, we want to create a domain, some function spaces, and a divergence-free velocity field $u$. The classic example is a material in uniform solid-body rotation around some fixed point $y$:
$$u(x) = \hat k \times (x - y)$$
where $\hat k$ is the unit vector in the $z$ direction.
import firedrake
from firedrake import inner, Constant, as_vector
mesh = firedrake.UnitSquareMesh(64, 64, diagonal='crossed')
x = firedrake.SpatialCoordinate(mesh)
y = Constant((.5, .5))
r = x - y
u = as_vector((-r[1], r[0]))
/home/firedrake/firedrake/lib/python3.12/site-packages/pytools/persistent_dict.py:52: RecommendedHashNotFoundWarning: Unable to import recommended hash 'siphash24.siphash13', falling back to 'hashlib.sha256'. Run 'python3 -m pip install siphash24' to install the recommended hash.
warn("Unable to import recommended hash 'siphash24.siphash13', "
To have a stable timestepping scheme, we'll need to satisfy the Courant-Friedrichs-Lewy condition, which means calculating the maximum speed and the minimum cell diameter. Calculating the maximum speed exactly can be challenging; if $u$ is represented with piecewise linear basis functions, then $|u|^2$ is a quadratic function and thus might not attain its maximum value at the interpolation points. You could work around this by changing to a basis of Bernstein polynomials, but for our purposes it'll be enough to evaluate the maximum at the interpolation points and take a smaller timestep than necessary.
import numpy as np
Q = firedrake.FunctionSpace(mesh, family='CG', degree=2)
speed = firedrake.Function(Q).interpolate(inner(u, u))
max_speed = np.sqrt(speed.dat.data_ro.max())
Q0 = firedrake.FunctionSpace(mesh, family='DG', degree=0)
diameters = firedrake.project(firedrake.CellDiameter(mesh), Q0)
min_diameter = diameters.dat.data_ro.min()
cfl_timestep = min_diameter / max_speed
print('Upper bound for CFL-stable timestep: {}'.format(cfl_timestep))
Upper bound for CFL-stable timestep: 0.022097086912079608
The initial data we'll use will be the classic bell and cone:
$$q_0 = \max\{0, 1 - |x - x_c| / r_c\} + \max\{0, 1 - |x - x_b|^2 / r_b^2\}$$
where $x_c$, $r_c$ are the center and radius of the cone and $x_b$, $r_b$ for the bell.
from firedrake import sqrt, min_value, max_value
x_c = as_vector((5/8, 5/8))
R_c = Constant(1/8)
x_b = as_vector((3/8, 3/8))
R_b = Constant(1/8)
q_expr = (
max_value(0, 1 - sqrt(inner(x - x_c, x - x_c) / R_c**2)) +
max_value(0, 1 - inner(x - x_b, x - x_b) / R_b**2)
)
q0 = firedrake.project(q_expr, Q0)
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d
fig = plt.figure()
axes = fig.add_subplot(projection='3d')
firedrake.trisurf(q0, axes=axes);
Fluxes¶
For our first experiment we'll look at the problem of choosing a numerical flux. As we'll see in the following, we have choices to make in how we determine the discrete approximation to the solution of the conservation law. This is very different from elliptic problems -- once we've decided to use the continous Galerkin method, the only real choice is what polynomial degree we'll use.
The usual procedure to come up with a weak form for a PDE is to multiply by some smooth test function $\phi$, move some derivatives onto $\phi$, and integrate. For the conservation law written above, we would arrive at the weak form
$$\int_\Omega\left(\frac{\partial q}{\partial t}\cdot\phi - f(q)\cdot\nabla\phi\right)dx = \int_\Omega s\cdot\phi\, dx + \ldots$$
where I've used an ellipsis to stand for some boundary terms that don't particularly matter. Unfortunately, this equation doesn't quite tell the whole story. We're using discontinuous basis functions to represent the solution $q$, and ideally we would use the same basis and test functions. What happens when the test functions are discontinuous too?
Let $\phi$ be some basis function and let $K$ be the cell of the domain where $\phi$ is supported. If we apply the usual procedure, we get an element-wise weak form when integrating against $\phi$:
$$\int_K\left(\frac{\partial q}{\partial t}\phi - f(q)\cdot\nabla\phi\right)dx + \int_{\partial K}f(q)\cdot\phi n\, ds = \int_K s\cdot\phi\, dx + \ldots$$
where $n$ is the unit outward normal vector to $K$. Note that we're integrating over only a single element and not the entire domain. The problem here is that if the solution and the basis functions are discontinuous across the element, we can't uniquely define their values on the boundary.
To see why this is so, you can imagine that, instead of having a discontinuous test function, we have a sequence $\phi_\epsilon$ of continuous test functions that converge to $\phi$ in some appropriate norm. If we take the support of each element of the sequence to be contained in the interior of $K$, then the value of $q$ in the boundary integral will its the value approaching the boundary from inside:
$$q_-(x) = \lim_{\epsilon\to 0}q(x - \epsilon n).$$
Alternatively, if we take $K$ to be contained in the interior of the support of each element of the sequence, then the value of the solution in the boundary integral will be its value approach the boundary from the outside:
$$q_+(x) = \lim_{\epsilon\to 0}q(x + \epsilon n).$$
Finally, with the right choice of sequence we could get any weighted average of the values on either side of the interface. As a consequence, we need to make some choice of the numerical flux. The numerical flux $f^*$ is a function of the interface values $q_+$ and $q_-$ and the unit normal vector $n$. The discrete approximation to the solution will satisfy the ODE system
$$\sum_K\left\{\int_K\left(\frac{\partial q}{\partial t}\phi - f(q)\cdot\nabla\phi\right)dx + \int_{\partial K}f^*(q_-, q_+, n)\cdot\phi\, ds\right\} = \sum_K\int_K s\cdot\phi\, dx + \ldots$$
for all test functions $\phi$. What kinds of functions can make a good numerical flux? First, if the solution is continuous across an element boundary, the numerical flux should give the same value as the true physical flux:
$$f^*(q, q, n) = f(q)\cdot n.$$
This condition is called consistency and it guarantees that the exact solution is also a discrete solution. The second property we want is to have some analogue of the conservative nature of the true problem. The important thing about fluxes in physical problems is that they can't create or destroy mass, momentum, energy, etc., they only transport it around the domain. To see how we can attain a similar property for our discrete problem, first observe that the sum over all the boundary integrals is telescoping because two neighboring cells $K_-$, $K_+$ share a common face $E$. We can then rewrite the sum of all the boundary integrals as a sum over all faces $E$ of the mesh:
$$\sum_K\int_{\partial K}f^*(q_-, q_+, n)\phi\, ds = \sum_E\int_E\left\{f^*(q_-, q_+, n_-)\phi_- + f^*(q_+, q_-, n_+)\phi_+\right\}ds$$
here $n_-$, $n_+$ are the unit outwardn ormal vectors to $K_-$ and $K_+$ respectively. Note that $n_+ = -n_-$, i.e. the two normals point in opposite directions to each other. What happens if the test function $\phi$ is identically equal to 1 throughout the entire domain? In that case the facet integrals should sum up to 0 -- fluxes only transport, they don't create or destroy. The numerical flux is conservative if
$$f^*(q_-, q_+, n) + f^*(q_+, q_-, -n) = 0.$$
The most braindead way we can come up with a sane numerical flux is to take the average of the solution values across the cell boundary:
$$f^*(q_-, q_+, n) = \frac{1}{2}(q_- + q_+)\cdot n.$$
This is called the central flux. Let's see how well it works.
from firedrake import grad, dx, ds, dS
q, ϕ = firedrake.TrialFunction(Q0), firedrake.TestFunction(Q0)
m = q * ϕ * dx
q = q0.copy(deepcopy=True)
cell_flux = -inner(grad(ϕ), q * u) * dx
n = firedrake.FacetNormal(mesh)
f = q * inner(u, n)
face_flux = (f('+') - f('-')) * (ϕ('+') - ϕ('-')) * dS
q_in = Constant(0)
influx = q_in * min_value(0, inner(u, n)) * ϕ * ds
outflux = q * max_value(0, inner(u, n)) * ϕ * ds
We'll take our timestep to be 1/4 of the formal CFL-stable timestep. We need at least a factor of 1/2 for the dimension, and probably another factor of 1/2 for triangle shape.
from numpy import pi as π
final_time = 2 * π
num_steps = 4 * int(final_time / cfl_timestep)
dt = Constant(final_time / num_steps)
Since we're repeatedly solving the same linear system, we'll create problem and solver objects so that this information can be reused from one solve to the next. The solver parameters are specially chosen for the fact that the mass matrix with discontinuous Galerkin methods is block diagonal, so a block Jacobi preconditioner with exact solvers on all the blocks is exact for the whole system.
from firedrake import LinearVariationalProblem, LinearVariationalSolver
dq_dt = -(cell_flux + face_flux + influx + outflux)
δq = firedrake.Function(Q0)
problem = LinearVariationalProblem(m, dt * dq_dt, δq)
parameters = {'ksp_type': 'preonly', 'pc_type': 'bjacobi', 'sub_pc_type': 'ilu'}
solver = LinearVariationalSolver(problem, solver_parameters=parameters)
import numpy as np
qrange = np.zeros((num_steps, 2))
import tqdm
for step in tqdm.trange(num_steps, unit='timesteps'):
solver.solve()
q += δq
qrange[step, :] = q.dat.data_ro.min(), q.dat.data_ro.max()
0%| | 0/1136 [00:00<?, ?timesteps/s]
0%| | 1/1136 [00:03<1:00:53, 3.22s/timesteps]
1%| | 11/1136 [00:03<04:08, 4.53timesteps/s]
2%|▏ | 21/1136 [00:03<01:52, 9.95timesteps/s]
3%|▎ | 31/1136 [00:03<01:06, 16.66timesteps/s]
4%|▎ | 41/1136 [00:03<00:44, 24.67timesteps/s]
4%|▍ | 51/1136 [00:03<00:32, 33.41timesteps/s]
5%|▌ | 61/1136 [00:03<00:25, 42.86timesteps/s]
6%|▋ | 71/1136 [00:03<00:20, 52.01timesteps/s]
7%|▋ | 81/1136 [00:04<00:17, 60.95timesteps/s]
8%|▊ | 91/1136 [00:04<00:15, 68.20timesteps/s]
9%|▉ | 101/1136 [00:04<00:13, 74.88timesteps/s]
10%|▉ | 111/1136 [00:04<00:12, 80.34timesteps/s]
11%|█ | 121/1136 [00:04<00:11, 84.69timesteps/s]
12%|█▏ | 131/1136 [00:04<00:11, 87.26timesteps/s]
12%|█▏ | 141/1136 [00:04<00:11, 88.93timesteps/s]
13%|█▎ | 151/1136 [00:04<00:10, 89.77timesteps/s]
14%|█▍ | 161/1136 [00:04<00:10, 91.83timesteps/s]
15%|█▌ | 171/1136 [00:05<00:10, 92.33timesteps/s]
16%|█▌ | 181/1136 [00:05<00:10, 93.26timesteps/s]
17%|█▋ | 191/1136 [00:05<00:10, 94.03timesteps/s]
18%|█▊ | 201/1136 [00:05<00:09, 94.62timesteps/s]
19%|█▊ | 211/1136 [00:05<00:09, 94.01timesteps/s]
19%|█▉ | 221/1136 [00:05<00:09, 93.73timesteps/s]
20%|██ | 231/1136 [00:05<00:09, 94.27timesteps/s]
21%|██ | 241/1136 [00:05<00:09, 94.86timesteps/s]
22%|██▏ | 251/1136 [00:05<00:09, 95.36timesteps/s]
23%|██▎ | 261/1136 [00:05<00:09, 94.20timesteps/s]
24%|██▍ | 271/1136 [00:06<00:09, 94.28timesteps/s]
25%|██▍ | 281/1136 [00:06<00:09, 91.64timesteps/s]
26%|██▌ | 291/1136 [00:06<00:09, 92.85timesteps/s]
26%|██▋ | 301/1136 [00:06<00:08, 93.98timesteps/s]
27%|██▋ | 311/1136 [00:06<00:08, 94.64timesteps/s]
28%|██▊ | 321/1136 [00:06<00:08, 95.19timesteps/s]
29%|██▉ | 331/1136 [00:06<00:08, 94.80timesteps/s]
30%|███ | 341/1136 [00:06<00:08, 95.04timesteps/s]
31%|███ | 351/1136 [00:06<00:08, 95.54timesteps/s]
32%|███▏ | 361/1136 [00:07<00:08, 95.31timesteps/s]
33%|███▎ | 371/1136 [00:07<00:07, 95.68timesteps/s]
34%|███▎ | 381/1136 [00:07<00:07, 96.02timesteps/s]
34%|███▍ | 391/1136 [00:07<00:07, 96.33timesteps/s]
35%|███▌ | 401/1136 [00:07<00:07, 94.70timesteps/s]
36%|███▌ | 411/1136 [00:07<00:07, 93.51timesteps/s]
37%|███▋ | 421/1136 [00:07<00:07, 94.44timesteps/s]
38%|███▊ | 431/1136 [00:07<00:07, 95.01timesteps/s]
39%|███▉ | 441/1136 [00:07<00:07, 95.49timesteps/s]
40%|███▉ | 451/1136 [00:07<00:07, 95.73timesteps/s]
41%|████ | 461/1136 [00:08<00:07, 96.02timesteps/s]
41%|████▏ | 471/1136 [00:08<00:06, 95.17timesteps/s]
42%|████▏ | 481/1136 [00:08<00:06, 95.59timesteps/s]
43%|████▎ | 491/1136 [00:08<00:06, 95.56timesteps/s]
44%|████▍ | 501/1136 [00:08<00:06, 95.99timesteps/s]
45%|████▍ | 511/1136 [00:08<00:06, 96.29timesteps/s]
46%|████▌ | 521/1136 [00:08<00:06, 96.46timesteps/s]
47%|████▋ | 531/1136 [00:08<00:06, 96.71timesteps/s]
48%|████▊ | 541/1136 [00:08<00:06, 96.83timesteps/s]
49%|████▊ | 551/1136 [00:09<00:06, 95.67timesteps/s]
49%|████▉ | 561/1136 [00:09<00:06, 95.69timesteps/s]
50%|█████ | 571/1136 [00:09<00:05, 96.16timesteps/s]
51%|█████ | 581/1136 [00:09<00:05, 96.45timesteps/s]
52%|█████▏ | 591/1136 [00:09<00:05, 96.66timesteps/s]
53%|█████▎ | 601/1136 [00:09<00:05, 96.73timesteps/s]
54%|█████▍ | 611/1136 [00:09<00:05, 96.66timesteps/s]
55%|█████▍ | 621/1136 [00:09<00:05, 96.52timesteps/s]
56%|█████▌ | 631/1136 [00:09<00:05, 93.57timesteps/s]
56%|█████▋ | 641/1136 [00:09<00:05, 93.58timesteps/s]
57%|█████▋ | 651/1136 [00:10<00:05, 94.30timesteps/s]
58%|█████▊ | 661/1136 [00:10<00:05, 94.91timesteps/s]
59%|█████▉ | 671/1136 [00:10<00:04, 95.13timesteps/s]
60%|█████▉ | 681/1136 [00:10<00:04, 95.39timesteps/s]
61%|██████ | 691/1136 [00:10<00:04, 95.52timesteps/s]
62%|██████▏ | 701/1136 [00:10<00:04, 95.72timesteps/s]
63%|██████▎ | 711/1136 [00:10<00:04, 95.88timesteps/s]
63%|██████▎ | 721/1136 [00:10<00:04, 95.97timesteps/s]
64%|██████▍ | 731/1136 [00:10<00:04, 96.10timesteps/s]
65%|██████▌ | 741/1136 [00:10<00:04, 96.20timesteps/s]
66%|██████▌ | 751/1136 [00:11<00:04, 96.21timesteps/s]
67%|██████▋ | 761/1136 [00:11<00:03, 95.79timesteps/s]
68%|██████▊ | 771/1136 [00:11<00:03, 96.02timesteps/s]
69%|██████▉ | 781/1136 [00:11<00:03, 96.15timesteps/s]
70%|██████▉ | 791/1136 [00:11<00:03, 96.26timesteps/s]
71%|███████ | 801/1136 [00:11<00:03, 96.26timesteps/s]
71%|███████▏ | 811/1136 [00:11<00:03, 96.30timesteps/s]
72%|███████▏ | 821/1136 [00:11<00:03, 96.23timesteps/s]
73%|███████▎ | 831/1136 [00:11<00:03, 95.55timesteps/s]
74%|███████▍ | 841/1136 [00:12<00:03, 95.81timesteps/s]
75%|███████▍ | 851/1136 [00:12<00:02, 96.01timesteps/s]
76%|███████▌ | 861/1136 [00:12<00:02, 96.17timesteps/s]
77%|███████▋ | 871/1136 [00:12<00:02, 96.27timesteps/s]
78%|███████▊ | 881/1136 [00:12<00:02, 96.39timesteps/s]
78%|███████▊ | 891/1136 [00:12<00:02, 96.35timesteps/s]
79%|███████▉ | 901/1136 [00:12<00:02, 96.40timesteps/s]
80%|████████ | 911/1136 [00:12<00:02, 96.32timesteps/s]
81%|████████ | 921/1136 [00:12<00:02, 96.41timesteps/s]
82%|████████▏ | 931/1136 [00:12<00:02, 95.26timesteps/s]
83%|████████▎ | 941/1136 [00:13<00:02, 95.37timesteps/s]
84%|████████▎ | 951/1136 [00:13<00:01, 95.10timesteps/s]
85%|████████▍ | 961/1136 [00:13<00:01, 94.98timesteps/s]
85%|████████▌ | 971/1136 [00:13<00:01, 95.21timesteps/s]
86%|████████▋ | 981/1136 [00:13<00:01, 95.32timesteps/s]
87%|████████▋ | 991/1136 [00:13<00:01, 94.95timesteps/s]
88%|████████▊ | 1001/1136 [00:13<00:01, 95.38timesteps/s]
89%|████████▉ | 1011/1136 [00:13<00:01, 93.25timesteps/s]
90%|████████▉ | 1021/1136 [00:13<00:01, 93.28timesteps/s]
91%|█████████ | 1031/1136 [00:14<00:01, 93.30timesteps/s]
92%|█████████▏| 1041/1136 [00:14<00:01, 94.18timesteps/s]
93%|█████████▎| 1051/1136 [00:14<00:00, 90.62timesteps/s]
93%|█████████▎| 1061/1136 [00:14<00:00, 88.40timesteps/s]
94%|█████████▍| 1070/1136 [00:14<00:00, 86.90timesteps/s]
95%|█████████▍| 1079/1136 [00:14<00:00, 85.68timesteps/s]
96%|█████████▌| 1088/1136 [00:14<00:00, 86.33timesteps/s]
97%|█████████▋| 1097/1136 [00:14<00:00, 85.82timesteps/s]
97%|█████████▋| 1106/1136 [00:14<00:00, 84.83timesteps/s]
98%|█████████▊| 1115/1136 [00:15<00:00, 84.05timesteps/s]
99%|█████████▉| 1124/1136 [00:15<00:00, 83.80timesteps/s]
100%|█████████▉| 1133/1136 [00:15<00:00, 83.16timesteps/s]
100%|██████████| 1136/1136 [00:15<00:00, 74.35timesteps/s]
After only 250 steps the solution is already attaining values two orders of magnitude greater than what they should, even while using a CFL-stable timestep. The reason for this is that the central flux, while both consistent and conservative, is numerically unstable with forward time-differencing.
fig, axes = plt.subplots()
axes.set_yscale('log')
axes.plot(qrange[:250, 1])
axes.set_xlabel('timestep')
axes.set_ylabel('solution maximum');
Instead, we'll try the upwind numerical flux. The idea of the upwind flux is to sample from whichever side of the interface has the velocity flowing outward and not in. The numerical flux is defined as
$$f^*(q_-, q_+, n) = \begin{cases}q_-u\cdot n && u\cdot n > 0 \\ q_+u\cdot n && u\cdot n \le 0\end{cases}.$$
We can also write this in a more symmetric form as
$$f^*(q_-, q_+, n) = q_-\max\{0, u\cdot n\} + q_+\min\{0, u\cdot n\}.$$
The upwind flux is designed to mimic the stability properties of one-sided finite difference schemes for transport equations.
q = q0.copy(deepcopy=True)
cell_flux = -inner(grad(ϕ), q * u) * dx
n = firedrake.FacetNormal(mesh)
u_n = max_value(inner(u, n), 0)
f = q * u_n
face_flux = (f('+') - f('-')) * (ϕ('+') - ϕ('-')) * dS
q_in = Constant(0)
influx = q_in * min_value(0, inner(u, n)) * ϕ * ds
outflux = q * max_value(0, inner(u, n)) * ϕ * ds
dq_dt = -(cell_flux + face_flux + influx + outflux)
δq = firedrake.Function(Q0)
problem = LinearVariationalProblem(m, dt * dq_dt, δq)
parameters = {'ksp_type': 'preonly', 'pc_type': 'bjacobi', 'sub_pc_type': 'ilu'}
solver = LinearVariationalSolver(problem, solver_parameters=parameters)
qs = []
output_freq = 5
for step in tqdm.trange(num_steps, unit='timesteps'):
solver.solve()
q += δq
if step % output_freq == 0:
qs.append(q.copy(deepcopy=True))
0%| | 0/1136 [00:00<?, ?timesteps/s]
0%| | 1/1136 [00:02<41:32, 2.20s/timesteps]
1%| | 11/1136 [00:02<02:52, 6.52timesteps/s]
2%|▏ | 21/1136 [00:02<01:19, 13.98timesteps/s]
3%|▎ | 31/1136 [00:02<00:48, 22.69timesteps/s]
4%|▎ | 41/1136 [00:02<00:33, 32.38timesteps/s]
4%|▍ | 51/1136 [00:02<00:25, 42.54timesteps/s]
5%|▌ | 61/1136 [00:02<00:20, 52.45timesteps/s]
6%|▋ | 71/1136 [00:02<00:17, 61.53timesteps/s]
7%|▋ | 81/1136 [00:03<00:15, 69.64timesteps/s]
8%|▊ | 91/1136 [00:03<00:13, 76.31timesteps/s]
9%|▉ | 101/1136 [00:03<00:12, 80.70timesteps/s]
10%|▉ | 111/1136 [00:03<00:12, 84.91timesteps/s]
11%|█ | 121/1136 [00:03<00:11, 88.16timesteps/s]
12%|█▏ | 131/1136 [00:03<00:11, 90.60timesteps/s]
12%|█▏ | 141/1136 [00:03<00:10, 92.30timesteps/s]
13%|█▎ | 151/1136 [00:03<00:10, 92.89timesteps/s]
14%|█▍ | 161/1136 [00:03<00:10, 94.07timesteps/s]
15%|█▌ | 171/1136 [00:03<00:10, 94.90timesteps/s]
16%|█▌ | 181/1136 [00:04<00:10, 95.49timesteps/s]
17%|█▋ | 191/1136 [00:04<00:09, 95.66timesteps/s]
18%|█▊ | 201/1136 [00:04<00:09, 95.06timesteps/s]
19%|█▊ | 211/1136 [00:04<00:09, 95.33timesteps/s]
19%|█▉ | 221/1136 [00:04<00:09, 95.73timesteps/s]
20%|██ | 231/1136 [00:04<00:09, 96.23timesteps/s]
21%|██ | 241/1136 [00:04<00:09, 95.74timesteps/s]
22%|██▏ | 251/1136 [00:04<00:09, 95.99timesteps/s]
23%|██▎ | 261/1136 [00:04<00:09, 96.29timesteps/s]
24%|██▍ | 271/1136 [00:05<00:09, 95.10timesteps/s]
25%|██▍ | 281/1136 [00:05<00:08, 95.40timesteps/s]
26%|██▌ | 291/1136 [00:05<00:08, 95.78timesteps/s]
26%|██▋ | 301/1136 [00:05<00:08, 95.94timesteps/s]
27%|██▋ | 311/1136 [00:05<00:08, 96.13timesteps/s]
28%|██▊ | 321/1136 [00:05<00:08, 95.59timesteps/s]
29%|██▉ | 331/1136 [00:05<00:08, 95.60timesteps/s]
30%|███ | 341/1136 [00:05<00:08, 95.25timesteps/s]
31%|███ | 351/1136 [00:05<00:08, 93.23timesteps/s]
32%|███▏ | 361/1136 [00:05<00:08, 93.03timesteps/s]
33%|███▎ | 371/1136 [00:06<00:08, 94.05timesteps/s]
34%|███▎ | 381/1136 [00:06<00:07, 94.43timesteps/s]
34%|███▍ | 391/1136 [00:06<00:07, 94.96timesteps/s]
35%|███▌ | 401/1136 [00:06<00:07, 94.46timesteps/s]
36%|███▌ | 411/1136 [00:06<00:07, 95.11timesteps/s]
37%|███▋ | 421/1136 [00:06<00:07, 94.84timesteps/s]
38%|███▊ | 431/1136 [00:06<00:07, 94.95timesteps/s]
39%|███▉ | 441/1136 [00:06<00:07, 95.33timesteps/s]
40%|███▉ | 451/1136 [00:06<00:07, 94.93timesteps/s]
41%|████ | 461/1136 [00:07<00:07, 94.98timesteps/s]
41%|████▏ | 471/1136 [00:07<00:06, 95.54timesteps/s]
42%|████▏ | 481/1136 [00:07<00:06, 94.21timesteps/s]
43%|████▎ | 491/1136 [00:07<00:06, 93.86timesteps/s]
44%|████▍ | 501/1136 [00:07<00:06, 94.42timesteps/s]
45%|████▍ | 511/1136 [00:07<00:06, 94.06timesteps/s]
46%|████▌ | 521/1136 [00:07<00:06, 94.47timesteps/s]
47%|████▋ | 531/1136 [00:07<00:06, 94.95timesteps/s]
48%|████▊ | 541/1136 [00:07<00:06, 95.31timesteps/s]
49%|████▊ | 551/1136 [00:07<00:06, 95.39timesteps/s]
49%|████▉ | 561/1136 [00:08<00:06, 95.79timesteps/s]
50%|█████ | 571/1136 [00:08<00:05, 95.12timesteps/s]
51%|█████ | 581/1136 [00:08<00:05, 95.64timesteps/s]
52%|█████▏ | 591/1136 [00:08<00:05, 95.96timesteps/s]
53%|█████▎ | 601/1136 [00:08<00:05, 96.22timesteps/s]
54%|█████▍ | 611/1136 [00:08<00:05, 94.74timesteps/s]
55%|█████▍ | 621/1136 [00:08<00:05, 95.33timesteps/s]
56%|█████▌ | 631/1136 [00:08<00:05, 95.78timesteps/s]
56%|█████▋ | 641/1136 [00:08<00:05, 96.04timesteps/s]
57%|█████▋ | 651/1136 [00:09<00:05, 96.34timesteps/s]
58%|█████▊ | 661/1136 [00:09<00:04, 96.27timesteps/s]
59%|█████▉ | 671/1136 [00:09<00:04, 96.44timesteps/s]
60%|█████▉ | 681/1136 [00:09<00:04, 95.77timesteps/s]
61%|██████ | 691/1136 [00:09<00:04, 95.76timesteps/s]
62%|██████▏ | 701/1136 [00:09<00:04, 95.36timesteps/s]
63%|██████▎ | 711/1136 [00:09<00:04, 95.83timesteps/s]
63%|██████▎ | 721/1136 [00:09<00:04, 96.15timesteps/s]
64%|██████▍ | 731/1136 [00:09<00:04, 96.28timesteps/s]
65%|██████▌ | 741/1136 [00:09<00:04, 96.43timesteps/s]
66%|██████▌ | 751/1136 [00:10<00:03, 96.72timesteps/s]
67%|██████▋ | 761/1136 [00:10<00:03, 96.83timesteps/s]
68%|██████▊ | 771/1136 [00:10<00:03, 96.90timesteps/s]
69%|██████▉ | 781/1136 [00:10<00:03, 95.81timesteps/s]
70%|██████▉ | 791/1136 [00:10<00:03, 96.13timesteps/s]
71%|███████ | 801/1136 [00:10<00:03, 96.44timesteps/s]
71%|███████▏ | 811/1136 [00:10<00:03, 96.63timesteps/s]
72%|███████▏ | 821/1136 [00:10<00:03, 96.87timesteps/s]
73%|███████▎ | 831/1136 [00:10<00:03, 96.12timesteps/s]
74%|███████▍ | 841/1136 [00:10<00:03, 94.97timesteps/s]
75%|███████▍ | 851/1136 [00:11<00:02, 95.55timesteps/s]
76%|███████▌ | 861/1136 [00:11<00:02, 95.82timesteps/s]
77%|███████▋ | 871/1136 [00:11<00:02, 95.47timesteps/s]
78%|███████▊ | 881/1136 [00:11<00:02, 95.95timesteps/s]
78%|███████▊ | 891/1136 [00:11<00:02, 96.41timesteps/s]
79%|███████▉ | 901/1136 [00:11<00:02, 95.76timesteps/s]
80%|████████ | 911/1136 [00:11<00:02, 95.89timesteps/s]
81%|████████ | 921/1136 [00:11<00:02, 96.37timesteps/s]
82%|████████▏ | 931/1136 [00:11<00:02, 96.59timesteps/s]
83%|████████▎ | 941/1136 [00:12<00:02, 96.65timesteps/s]
84%|████████▎ | 951/1136 [00:12<00:01, 96.77timesteps/s]
85%|████████▍ | 961/1136 [00:12<00:01, 96.41timesteps/s]
85%|████████▌ | 971/1136 [00:12<00:01, 96.66timesteps/s]
86%|████████▋ | 981/1136 [00:12<00:01, 96.83timesteps/s]
87%|████████▋ | 991/1136 [00:12<00:01, 96.78timesteps/s]
88%|████████▊ | 1001/1136 [00:12<00:01, 96.65timesteps/s]
89%|████████▉ | 1011/1136 [00:12<00:01, 96.86timesteps/s]
90%|████████▉ | 1021/1136 [00:12<00:01, 96.87timesteps/s]
91%|█████████ | 1031/1136 [00:12<00:01, 97.00timesteps/s]
92%|█████████▏| 1041/1136 [00:13<00:00, 96.57timesteps/s]
93%|█████████▎| 1051/1136 [00:13<00:00, 96.50timesteps/s]
93%|█████████▎| 1061/1136 [00:13<00:00, 95.37timesteps/s]
94%|█████████▍| 1071/1136 [00:13<00:00, 95.59timesteps/s]
95%|█████████▌| 1081/1136 [00:13<00:00, 95.55timesteps/s]
96%|█████████▌| 1091/1136 [00:13<00:00, 95.13timesteps/s]
97%|█████████▋| 1101/1136 [00:13<00:00, 93.99timesteps/s]
98%|█████████▊| 1111/1136 [00:13<00:00, 94.81timesteps/s]
99%|█████████▊| 1121/1136 [00:13<00:00, 93.93timesteps/s]
100%|█████████▉| 1131/1136 [00:14<00:00, 93.63timesteps/s]
100%|██████████| 1136/1136 [00:14<00:00, 80.80timesteps/s]
We at least get a finite answer as a result, which is a big improvement. Keeping in mind that the original data capped out at a value of 1, the peaks have shrunk considerably, and we can also see that the sharp cone is much more rounded than before.
from firedrake.plot import FunctionPlotter
fn_plotter = FunctionPlotter(mesh, num_sample_points=1)
%%capture
fig, axes = plt.subplots()
axes.set_aspect('equal')
axes.get_xaxis().set_visible(False)
axes.get_yaxis().set_visible(False)
colors = firedrake.tripcolor(
q, num_sample_points=1, vmin=0., vmax=1., shading="gouraud", axes=axes
)
from matplotlib.animation import FuncAnimation
def animate(q):
colors.set_array(fn_plotter(q))
interval = 1e3 * output_freq * float(dt)
animation = FuncAnimation(fig, animate, frames=qs, interval=interval)
from IPython.display import HTML
HTML(animation.to_html5_video())
Despite this fact, the total volume under the surface has been conserved to within rounding error.
print(firedrake.assemble(q * dx) / firedrake.assemble(q0 * dx))
0.9999713508961614
Nonetheless, the relative error in the $L^1$ norm is quite poor.
firedrake.assemble(abs(q - q0) * dx) / firedrake.assemble(q0 * dx)
np.float64(0.6651047426779901)
Let's see if we can improve on that by changing the finite element basis.
Higher-order basis functions¶
One of the main advantages that the discontinuous Galerkin method has over the finite volume method is that achieving higher-order convergence is straightforward if the problem is nice -- you just increase the polynomial degree. (When the problem is not nice, for example if there are shockwaves, everything goes straight to hell and the finite volume method is much less finicky about stability.) Here we'll look at what happens when we go from piecewise constant basis functions to piecewise linear.
One of the first changes we have to make is that the Courant-Friedrichs-Lewy condition is more stringent for higher-order basis functions. For piecewise constant basis functions, we have that $\delta x / \delta t \ge |u|$; for degree-$p$ polynomials, we instead need that
$$\frac{\delta x}{\delta t} \ge (2p + 1)\cdot|u|.$$
One way of looking at this higher-degree CFL condition is that the introduction of more degrees of freedom makes the effective spacing between the nodes smaller than it might be in the piecewise-constant case. The multiplicative factor of $2p + 1$ accounts for the effective shrinkage in the numerical length scale. (For more, see this paper from 2013.) Once again, we'll use a timestep that's 1/4 of the formal CFL timestep to account for the spatial dimension and the mesh quality.
cfl_timestep = min_diameter / max_speed / 3
num_steps = 4 * int(final_time / cfl_timestep)
dt = Constant(final_time / num_steps)
We have to be a bit carefuly about creating the initial data. For discontinuous Galerkin discretizations, we would normally project the expression into the discrete function space. Since this is a projection in $L^2$, we might get negative values for an otherwise strictly positive expression. In this case, the positivity of the solution is vital and so instead I'm interpolating the expression for the initial data, but doing so is a little dangerous.
Q1 = firedrake.FunctionSpace(mesh, family='DG', degree=1)
q0 = firedrake.Function(Q1).interpolate(q_expr)
q0.dat.data_ro.min(), q0.dat.data_ro.max()
(np.float64(0.0), np.float64(0.9990945067964072))
In almost every other respect the discretization is the same as before.
q, ϕ = firedrake.TrialFunction(Q1), firedrake.TestFunction(Q1)
m = q * ϕ * dx
q = q0.copy(deepcopy=True)
cell_flux = -inner(grad(ϕ), q * u) * dx
n = firedrake.FacetNormal(mesh)
u_n = max_value(inner(u, n), 0)
f = q * u_n
face_flux = (f('+') - f('-')) * (ϕ('+') - ϕ('-')) * dS
q_in = Constant(0)
influx = q_in * min_value(0, inner(u, n)) * ϕ * ds
outflux = q * max_value(0, inner(u, n)) * ϕ * ds
dq_dt = -(cell_flux + face_flux + influx + outflux)
δq = firedrake.Function(Q1)
problem = LinearVariationalProblem(m, dt * dq_dt, δq)
parameters = {'ksp_type': 'preonly', 'pc_type': 'bjacobi', 'sub_pc_type': 'ilu'}
solver = LinearVariationalSolver(problem, solver_parameters=parameters)
for step in tqdm.trange(num_steps, unit='timesteps'):
solver.solve()
q += δq
0%| | 0/3412 [00:00<?, ?timesteps/s]
0%| | 1/3412 [00:02<2:26:41, 2.58s/timesteps]
0%| | 6/3412 [00:02<19:02, 2.98timesteps/s]
0%| | 13/3412 [00:02<07:28, 7.58timesteps/s]
1%| | 20/3412 [00:02<04:20, 13.03timesteps/s]
1%| | 27/3412 [00:03<02:56, 19.19timesteps/s]
1%| | 34/3412 [00:03<02:11, 25.74timesteps/s]
1%| | 41/3412 [00:03<01:44, 32.26timesteps/s]
1%|▏ | 48/3412 [00:03<01:27, 38.27timesteps/s]
2%|▏ | 55/3412 [00:03<01:17, 43.27timesteps/s]
2%|▏ | 62/3412 [00:03<01:10, 47.74timesteps/s]
2%|▏ | 69/3412 [00:03<01:04, 51.56timesteps/s]
2%|▏ | 76/3412 [00:03<01:01, 54.34timesteps/s]
2%|▏ | 83/3412 [00:03<00:59, 56.31timesteps/s]
3%|▎ | 90/3412 [00:04<00:57, 58.18timesteps/s]
3%|▎ | 97/3412 [00:04<00:55, 59.25timesteps/s]
3%|▎ | 104/3412 [00:04<00:57, 57.60timesteps/s]
3%|▎ | 111/3412 [00:04<00:56, 58.77timesteps/s]
3%|▎ | 118/3412 [00:04<00:55, 59.80timesteps/s]
4%|▎ | 125/3412 [00:04<00:55, 59.60timesteps/s]
4%|▍ | 132/3412 [00:04<00:54, 60.03timesteps/s]
4%|▍ | 139/3412 [00:04<00:53, 60.87timesteps/s]
4%|▍ | 146/3412 [00:04<00:53, 61.34timesteps/s]
4%|▍ | 153/3412 [00:05<00:52, 61.87timesteps/s]
5%|▍ | 160/3412 [00:05<00:52, 62.26timesteps/s]
5%|▍ | 167/3412 [00:05<00:52, 62.36timesteps/s]
5%|▌ | 174/3412 [00:05<00:51, 62.67timesteps/s]
5%|▌ | 181/3412 [00:05<00:52, 61.21timesteps/s]
6%|▌ | 188/3412 [00:05<00:52, 60.96timesteps/s]
6%|▌ | 195/3412 [00:05<00:52, 61.26timesteps/s]
6%|▌ | 202/3412 [00:05<00:52, 61.46timesteps/s]
6%|▌ | 209/3412 [00:05<00:51, 61.81timesteps/s]
6%|▋ | 216/3412 [00:06<00:52, 61.36timesteps/s]
7%|▋ | 223/3412 [00:06<00:51, 61.70timesteps/s]
7%|▋ | 230/3412 [00:06<00:51, 61.96timesteps/s]
7%|▋ | 237/3412 [00:06<00:51, 61.92timesteps/s]
7%|▋ | 244/3412 [00:06<00:50, 62.17timesteps/s]
7%|▋ | 251/3412 [00:06<00:51, 60.85timesteps/s]
8%|▊ | 258/3412 [00:06<00:51, 61.23timesteps/s]
8%|▊ | 265/3412 [00:06<00:51, 61.63timesteps/s]
8%|▊ | 272/3412 [00:07<00:50, 61.69timesteps/s]
8%|▊ | 279/3412 [00:07<00:50, 62.09timesteps/s]
8%|▊ | 286/3412 [00:07<00:52, 59.35timesteps/s]
9%|▊ | 293/3412 [00:07<00:52, 59.70timesteps/s]
9%|▉ | 300/3412 [00:07<00:51, 60.17timesteps/s]
9%|▉ | 307/3412 [00:07<00:51, 60.43timesteps/s]
9%|▉ | 314/3412 [00:07<00:51, 60.67timesteps/s]
9%|▉ | 321/3412 [00:07<00:52, 58.59timesteps/s]
10%|▉ | 327/3412 [00:07<00:52, 58.92timesteps/s]
10%|▉ | 334/3412 [00:08<00:51, 59.63timesteps/s]
10%|▉ | 341/3412 [00:08<00:51, 60.11timesteps/s]
10%|█ | 348/3412 [00:08<00:51, 59.21timesteps/s]
10%|█ | 354/3412 [00:08<00:51, 59.16timesteps/s]
11%|█ | 361/3412 [00:08<00:50, 59.99timesteps/s]
11%|█ | 368/3412 [00:08<00:51, 59.59timesteps/s]
11%|█ | 375/3412 [00:08<00:50, 60.22timesteps/s]
11%|█ | 382/3412 [00:08<00:49, 60.80timesteps/s]
11%|█▏ | 389/3412 [00:08<00:50, 59.71timesteps/s]
12%|█▏ | 396/3412 [00:09<00:50, 60.12timesteps/s]
12%|█▏ | 403/3412 [00:09<00:49, 60.47timesteps/s]
12%|█▏ | 410/3412 [00:09<00:49, 60.28timesteps/s]
12%|█▏ | 417/3412 [00:09<00:49, 60.57timesteps/s]
12%|█▏ | 424/3412 [00:09<00:49, 60.84timesteps/s]
13%|█▎ | 431/3412 [00:09<00:49, 60.51timesteps/s]
13%|█▎ | 438/3412 [00:09<00:48, 60.80timesteps/s]
13%|█▎ | 445/3412 [00:09<00:48, 60.97timesteps/s]
13%|█▎ | 452/3412 [00:09<00:48, 61.15timesteps/s]
13%|█▎ | 459/3412 [00:10<00:48, 61.30timesteps/s]
14%|█▎ | 466/3412 [00:10<00:47, 61.40timesteps/s]
14%|█▍ | 473/3412 [00:10<00:47, 61.45timesteps/s]
14%|█▍ | 480/3412 [00:10<00:47, 61.48timesteps/s]
14%|█▍ | 487/3412 [00:10<00:47, 61.53timesteps/s]
14%|█▍ | 494/3412 [00:10<00:48, 60.03timesteps/s]
15%|█▍ | 501/3412 [00:10<00:48, 60.14timesteps/s]
15%|█▍ | 508/3412 [00:10<00:48, 60.42timesteps/s]
15%|█▌ | 515/3412 [00:11<00:47, 60.66timesteps/s]
15%|█▌ | 522/3412 [00:11<00:47, 60.88timesteps/s]
16%|█▌ | 529/3412 [00:11<00:47, 61.04timesteps/s]
16%|█▌ | 536/3412 [00:11<00:47, 61.12timesteps/s]
16%|█▌ | 543/3412 [00:11<00:46, 61.24timesteps/s]
16%|█▌ | 550/3412 [00:11<00:46, 61.10timesteps/s]
16%|█▋ | 557/3412 [00:11<00:46, 61.10timesteps/s]
17%|█▋ | 564/3412 [00:11<00:46, 61.18timesteps/s]
17%|█▋ | 571/3412 [00:11<00:46, 61.20timesteps/s]
17%|█▋ | 578/3412 [00:12<00:46, 61.23timesteps/s]
17%|█▋ | 585/3412 [00:12<00:46, 61.22timesteps/s]
17%|█▋ | 592/3412 [00:12<00:46, 61.30timesteps/s]
18%|█▊ | 599/3412 [00:12<00:45, 61.33timesteps/s]
18%|█▊ | 606/3412 [00:12<00:45, 61.33timesteps/s]
18%|█▊ | 613/3412 [00:12<00:45, 61.36timesteps/s]
18%|█▊ | 620/3412 [00:12<00:45, 61.39timesteps/s]
18%|█▊ | 627/3412 [00:12<00:45, 61.51timesteps/s]
19%|█▊ | 634/3412 [00:12<00:45, 61.60timesteps/s]
19%|█▉ | 641/3412 [00:13<00:44, 61.64timesteps/s]
19%|█▉ | 648/3412 [00:13<00:44, 61.65timesteps/s]
19%|█▉ | 655/3412 [00:13<00:44, 61.67timesteps/s]
19%|█▉ | 662/3412 [00:13<00:44, 61.73timesteps/s]
20%|█▉ | 669/3412 [00:13<00:44, 61.73timesteps/s]
20%|█▉ | 676/3412 [00:13<00:44, 61.69timesteps/s]
20%|██ | 683/3412 [00:13<00:44, 61.67timesteps/s]
20%|██ | 690/3412 [00:13<00:44, 61.67timesteps/s]
20%|██ | 697/3412 [00:13<00:43, 61.77timesteps/s]
21%|██ | 704/3412 [00:14<00:43, 61.78timesteps/s]
21%|██ | 711/3412 [00:14<00:43, 61.76timesteps/s]
21%|██ | 718/3412 [00:14<00:43, 61.83timesteps/s]
21%|██ | 725/3412 [00:14<00:43, 61.68timesteps/s]
21%|██▏ | 732/3412 [00:14<00:43, 61.78timesteps/s]
22%|██▏ | 739/3412 [00:14<00:43, 61.80timesteps/s]
22%|██▏ | 746/3412 [00:14<00:43, 61.78timesteps/s]
22%|██▏ | 753/3412 [00:14<00:43, 61.81timesteps/s]
22%|██▏ | 760/3412 [00:15<00:42, 61.75timesteps/s]
22%|██▏ | 767/3412 [00:15<00:42, 61.78timesteps/s]
23%|██▎ | 774/3412 [00:15<00:42, 61.74timesteps/s]
23%|██▎ | 781/3412 [00:15<00:42, 61.76timesteps/s]
23%|██▎ | 788/3412 [00:15<00:42, 61.82timesteps/s]
23%|██▎ | 795/3412 [00:15<00:42, 61.73timesteps/s]
24%|██▎ | 802/3412 [00:15<00:42, 61.83timesteps/s]
24%|██▎ | 809/3412 [00:15<00:42, 61.80timesteps/s]
24%|██▍ | 816/3412 [00:15<00:42, 61.73timesteps/s]
24%|██▍ | 823/3412 [00:16<00:41, 61.79timesteps/s]
24%|██▍ | 830/3412 [00:16<00:41, 61.70timesteps/s]
25%|██▍ | 837/3412 [00:16<00:41, 61.78timesteps/s]
25%|██▍ | 844/3412 [00:16<00:41, 61.79timesteps/s]
25%|██▍ | 851/3412 [00:16<00:41, 61.79timesteps/s]
25%|██▌ | 858/3412 [00:16<00:42, 60.63timesteps/s]
25%|██▌ | 865/3412 [00:16<00:41, 61.24timesteps/s]
26%|██▌ | 872/3412 [00:16<00:41, 61.78timesteps/s]
26%|██▌ | 879/3412 [00:16<00:40, 62.03timesteps/s]
26%|██▌ | 886/3412 [00:17<00:40, 62.15timesteps/s]
26%|██▌ | 893/3412 [00:17<00:40, 62.29timesteps/s]
26%|██▋ | 900/3412 [00:17<00:40, 62.28timesteps/s]
27%|██▋ | 907/3412 [00:17<00:40, 62.42timesteps/s]
27%|██▋ | 914/3412 [00:17<00:40, 62.20timesteps/s]
27%|██▋ | 921/3412 [00:17<00:40, 61.77timesteps/s]
27%|██▋ | 928/3412 [00:17<00:40, 61.94timesteps/s]
27%|██▋ | 935/3412 [00:17<00:39, 62.04timesteps/s]
28%|██▊ | 942/3412 [00:17<00:39, 62.11timesteps/s]
28%|██▊ | 949/3412 [00:18<00:39, 62.20timesteps/s]
28%|██▊ | 956/3412 [00:18<00:39, 62.24timesteps/s]
28%|██▊ | 963/3412 [00:18<00:39, 62.29timesteps/s]
28%|██▊ | 970/3412 [00:18<00:39, 62.31timesteps/s]
29%|██▊ | 977/3412 [00:18<00:39, 62.38timesteps/s]
29%|██▉ | 984/3412 [00:18<00:38, 62.38timesteps/s]
29%|██▉ | 991/3412 [00:18<00:38, 62.37timesteps/s]
29%|██▉ | 998/3412 [00:18<00:38, 62.36timesteps/s]
29%|██▉ | 1005/3412 [00:18<00:38, 62.40timesteps/s]
30%|██▉ | 1012/3412 [00:19<00:38, 62.42timesteps/s]
30%|██▉ | 1019/3412 [00:19<00:38, 62.47timesteps/s]
30%|███ | 1026/3412 [00:19<00:38, 62.47timesteps/s]
30%|███ | 1033/3412 [00:19<00:38, 62.42timesteps/s]
30%|███ | 1040/3412 [00:19<00:38, 62.39timesteps/s]
31%|███ | 1047/3412 [00:19<00:37, 62.38timesteps/s]
31%|███ | 1054/3412 [00:19<00:38, 61.51timesteps/s]
31%|███ | 1061/3412 [00:19<00:38, 61.77timesteps/s]
31%|███▏ | 1068/3412 [00:19<00:37, 61.99timesteps/s]
32%|███▏ | 1075/3412 [00:20<00:37, 62.09timesteps/s]
32%|███▏ | 1082/3412 [00:20<00:37, 62.19timesteps/s]
32%|███▏ | 1089/3412 [00:20<00:37, 62.28timesteps/s]
32%|███▏ | 1096/3412 [00:20<00:37, 62.37timesteps/s]
32%|███▏ | 1103/3412 [00:20<00:37, 62.39timesteps/s]
33%|███▎ | 1110/3412 [00:20<00:36, 62.37timesteps/s]
33%|███▎ | 1117/3412 [00:20<00:36, 62.45timesteps/s]
33%|███▎ | 1124/3412 [00:20<00:36, 62.44timesteps/s]
33%|███▎ | 1131/3412 [00:20<00:36, 62.40timesteps/s]
33%|███▎ | 1138/3412 [00:21<00:36, 62.41timesteps/s]
34%|███▎ | 1145/3412 [00:21<00:36, 62.36timesteps/s]
34%|███▍ | 1152/3412 [00:21<00:36, 62.38timesteps/s]
34%|███▍ | 1159/3412 [00:21<00:36, 62.39timesteps/s]
34%|███▍ | 1166/3412 [00:21<00:36, 62.35timesteps/s]
34%|███▍ | 1173/3412 [00:21<00:35, 62.34timesteps/s]
35%|███▍ | 1180/3412 [00:21<00:35, 62.30timesteps/s]
35%|███▍ | 1187/3412 [00:21<00:35, 62.31timesteps/s]
35%|███▍ | 1194/3412 [00:22<00:35, 62.35timesteps/s]
35%|███▌ | 1201/3412 [00:22<00:35, 62.31timesteps/s]
35%|███▌ | 1208/3412 [00:22<00:35, 62.37timesteps/s]
36%|███▌ | 1215/3412 [00:22<00:35, 62.34timesteps/s]
36%|███▌ | 1222/3412 [00:22<00:35, 62.36timesteps/s]
36%|███▌ | 1229/3412 [00:22<00:34, 62.38timesteps/s]
36%|███▌ | 1236/3412 [00:22<00:34, 62.37timesteps/s]
36%|███▋ | 1243/3412 [00:22<00:34, 62.42timesteps/s]
37%|███▋ | 1250/3412 [00:22<00:34, 62.41timesteps/s]
37%|███▋ | 1257/3412 [00:23<00:34, 62.45timesteps/s]
37%|███▋ | 1264/3412 [00:23<00:34, 62.50timesteps/s]
37%|███▋ | 1271/3412 [00:23<00:34, 62.47timesteps/s]
37%|███▋ | 1278/3412 [00:23<00:34, 62.49timesteps/s]
38%|███▊ | 1285/3412 [00:23<00:34, 62.42timesteps/s]
38%|███▊ | 1292/3412 [00:23<00:33, 62.45timesteps/s]
38%|███▊ | 1299/3412 [00:23<00:33, 62.51timesteps/s]
38%|███▊ | 1306/3412 [00:23<00:33, 62.40timesteps/s]
38%|███▊ | 1313/3412 [00:23<00:33, 62.44timesteps/s]
39%|███▊ | 1320/3412 [00:24<00:33, 62.38timesteps/s]
39%|███▉ | 1327/3412 [00:24<00:33, 62.41timesteps/s]
39%|███▉ | 1334/3412 [00:24<00:33, 62.16timesteps/s]
39%|███▉ | 1341/3412 [00:24<00:33, 61.34timesteps/s]
40%|███▉ | 1348/3412 [00:24<00:33, 61.83timesteps/s]
40%|███▉ | 1355/3412 [00:24<00:33, 61.24timesteps/s]
40%|███▉ | 1362/3412 [00:24<00:33, 61.64timesteps/s]
40%|████ | 1369/3412 [00:24<00:32, 61.93timesteps/s]
40%|████ | 1376/3412 [00:24<00:32, 62.12timesteps/s]
41%|████ | 1383/3412 [00:25<00:32, 62.25timesteps/s]
41%|████ | 1390/3412 [00:25<00:32, 62.31timesteps/s]
41%|████ | 1397/3412 [00:25<00:32, 62.45timesteps/s]
41%|████ | 1404/3412 [00:25<00:32, 62.57timesteps/s]
41%|████▏ | 1411/3412 [00:25<00:32, 62.52timesteps/s]
42%|████▏ | 1418/3412 [00:25<00:31, 62.55timesteps/s]
42%|████▏ | 1425/3412 [00:25<00:31, 62.52timesteps/s]
42%|████▏ | 1432/3412 [00:25<00:31, 62.60timesteps/s]
42%|████▏ | 1439/3412 [00:25<00:31, 62.57timesteps/s]
42%|████▏ | 1446/3412 [00:26<00:31, 62.57timesteps/s]
43%|████▎ | 1453/3412 [00:26<00:31, 62.60timesteps/s]
43%|████▎ | 1460/3412 [00:26<00:31, 62.60timesteps/s]
43%|████▎ | 1467/3412 [00:26<00:31, 62.65timesteps/s]
43%|████▎ | 1474/3412 [00:26<00:30, 62.68timesteps/s]
43%|████▎ | 1481/3412 [00:26<00:30, 62.65timesteps/s]
44%|████▎ | 1488/3412 [00:26<00:30, 62.67timesteps/s]
44%|████▍ | 1495/3412 [00:26<00:30, 62.60timesteps/s]
44%|████▍ | 1502/3412 [00:26<00:30, 62.67timesteps/s]
44%|████▍ | 1509/3412 [00:27<00:30, 62.72timesteps/s]
44%|████▍ | 1516/3412 [00:27<00:30, 62.69timesteps/s]
45%|████▍ | 1523/3412 [00:27<00:30, 62.71timesteps/s]
45%|████▍ | 1530/3412 [00:27<00:30, 62.67timesteps/s]
45%|████▌ | 1537/3412 [00:27<00:29, 62.80timesteps/s]
45%|████▌ | 1544/3412 [00:27<00:29, 62.76timesteps/s]
45%|████▌ | 1551/3412 [00:27<00:29, 62.80timesteps/s]
46%|████▌ | 1558/3412 [00:27<00:29, 62.83timesteps/s]
46%|████▌ | 1565/3412 [00:27<00:29, 62.80timesteps/s]
46%|████▌ | 1572/3412 [00:28<00:29, 62.88timesteps/s]
46%|████▋ | 1579/3412 [00:28<00:29, 62.82timesteps/s]
46%|████▋ | 1586/3412 [00:28<00:29, 61.79timesteps/s]
47%|████▋ | 1593/3412 [00:28<00:29, 62.09timesteps/s]
47%|████▋ | 1600/3412 [00:28<00:29, 62.25timesteps/s]
47%|████▋ | 1607/3412 [00:28<00:30, 59.89timesteps/s]
47%|████▋ | 1614/3412 [00:28<00:29, 60.51timesteps/s]
48%|████▊ | 1621/3412 [00:28<00:29, 60.90timesteps/s]
48%|████▊ | 1628/3412 [00:28<00:29, 61.30timesteps/s]
48%|████▊ | 1635/3412 [00:29<00:28, 61.40timesteps/s]
48%|████▊ | 1642/3412 [00:29<00:29, 60.98timesteps/s]
48%|████▊ | 1649/3412 [00:29<00:29, 59.10timesteps/s]
49%|████▊ | 1655/3412 [00:29<00:30, 58.26timesteps/s]
49%|████▊ | 1661/3412 [00:29<00:29, 58.56timesteps/s]
49%|████▉ | 1668/3412 [00:29<00:29, 59.45timesteps/s]
49%|████▉ | 1675/3412 [00:29<00:28, 60.23timesteps/s]
49%|████▉ | 1682/3412 [00:29<00:28, 60.76timesteps/s]
50%|████▉ | 1689/3412 [00:29<00:28, 61.04timesteps/s]
50%|████▉ | 1696/3412 [00:30<00:27, 61.40timesteps/s]
50%|████▉ | 1703/3412 [00:30<00:27, 61.55timesteps/s]
50%|█████ | 1710/3412 [00:30<00:27, 61.69timesteps/s]
50%|█████ | 1717/3412 [00:30<00:27, 61.79timesteps/s]
51%|█████ | 1724/3412 [00:30<00:27, 61.76timesteps/s]
51%|█████ | 1731/3412 [00:30<00:27, 61.88timesteps/s]
51%|█████ | 1738/3412 [00:30<00:27, 61.35timesteps/s]
51%|█████ | 1745/3412 [00:30<00:27, 61.07timesteps/s]
51%|█████▏ | 1752/3412 [00:31<00:27, 61.25timesteps/s]
52%|█████▏ | 1759/3412 [00:31<00:26, 61.33timesteps/s]
52%|█████▏ | 1766/3412 [00:31<00:28, 57.10timesteps/s]
52%|█████▏ | 1772/3412 [00:31<00:28, 57.56timesteps/s]
52%|█████▏ | 1779/3412 [00:31<00:27, 58.46timesteps/s]
52%|█████▏ | 1786/3412 [00:31<00:27, 59.37timesteps/s]
53%|█████▎ | 1792/3412 [00:31<00:27, 58.43timesteps/s]
53%|█████▎ | 1798/3412 [00:31<00:28, 57.56timesteps/s]
53%|█████▎ | 1804/3412 [00:31<00:27, 57.93timesteps/s]
53%|█████▎ | 1810/3412 [00:32<00:27, 57.93timesteps/s]
53%|█████▎ | 1816/3412 [00:32<00:27, 58.00timesteps/s]
53%|█████▎ | 1822/3412 [00:32<00:27, 58.22timesteps/s]
54%|█████▎ | 1828/3412 [00:32<00:27, 57.32timesteps/s]
54%|█████▍ | 1834/3412 [00:32<00:27, 57.05timesteps/s]
54%|█████▍ | 1840/3412 [00:32<00:27, 57.20timesteps/s]
54%|█████▍ | 1846/3412 [00:32<00:27, 56.09timesteps/s]
54%|█████▍ | 1852/3412 [00:32<00:27, 56.27timesteps/s]
54%|█████▍ | 1858/3412 [00:32<00:27, 57.15timesteps/s]
55%|█████▍ | 1864/3412 [00:32<00:26, 57.47timesteps/s]
55%|█████▍ | 1870/3412 [00:33<00:26, 57.18timesteps/s]
55%|█████▍ | 1876/3412 [00:33<00:27, 56.73timesteps/s]
55%|█████▌ | 1882/3412 [00:33<00:27, 55.12timesteps/s]
55%|█████▌ | 1888/3412 [00:33<00:27, 54.97timesteps/s]
56%|█████▌ | 1894/3412 [00:33<00:26, 56.31timesteps/s]
56%|█████▌ | 1901/3412 [00:33<00:25, 58.20timesteps/s]
56%|█████▌ | 1908/3412 [00:33<00:25, 59.49timesteps/s]
56%|█████▌ | 1915/3412 [00:33<00:24, 59.94timesteps/s]
56%|█████▋ | 1922/3412 [00:33<00:24, 60.43timesteps/s]
57%|█████▋ | 1929/3412 [00:34<00:24, 60.87timesteps/s]
57%|█████▋ | 1936/3412 [00:34<00:24, 61.22timesteps/s]
57%|█████▋ | 1943/3412 [00:34<00:23, 61.53timesteps/s]
57%|█████▋ | 1950/3412 [00:34<00:23, 61.81timesteps/s]
57%|█████▋ | 1957/3412 [00:34<00:24, 59.45timesteps/s]
58%|█████▊ | 1963/3412 [00:34<00:24, 58.66timesteps/s]
58%|█████▊ | 1969/3412 [00:34<00:25, 57.57timesteps/s]
58%|█████▊ | 1976/3412 [00:34<00:24, 59.11timesteps/s]
58%|█████▊ | 1982/3412 [00:34<00:24, 59.20timesteps/s]
58%|█████▊ | 1988/3412 [00:35<00:24, 58.95timesteps/s]
58%|█████▊ | 1994/3412 [00:35<00:24, 58.16timesteps/s]
59%|█████▊ | 2001/3412 [00:35<00:23, 59.20timesteps/s]
59%|█████▉ | 2008/3412 [00:35<00:23, 60.12timesteps/s]
59%|█████▉ | 2015/3412 [00:35<00:22, 61.07timesteps/s]
59%|█████▉ | 2022/3412 [00:35<00:22, 61.61timesteps/s]
59%|█████▉ | 2029/3412 [00:35<00:22, 62.12timesteps/s]
60%|█████▉ | 2036/3412 [00:35<00:22, 62.42timesteps/s]
60%|█████▉ | 2043/3412 [00:35<00:21, 62.59timesteps/s]
60%|██████ | 2050/3412 [00:36<00:21, 62.91timesteps/s]
60%|██████ | 2057/3412 [00:36<00:21, 63.10timesteps/s]
60%|██████ | 2064/3412 [00:36<00:21, 63.29timesteps/s]
61%|██████ | 2071/3412 [00:36<00:21, 63.40timesteps/s]
61%|██████ | 2078/3412 [00:36<00:21, 63.47timesteps/s]
61%|██████ | 2085/3412 [00:36<00:20, 63.60timesteps/s]
61%|██████▏ | 2092/3412 [00:36<00:20, 63.44timesteps/s]
62%|██████▏ | 2099/3412 [00:36<00:20, 63.68timesteps/s]
62%|██████▏ | 2106/3412 [00:36<00:20, 62.40timesteps/s]
62%|██████▏ | 2113/3412 [00:37<00:20, 62.32timesteps/s]
62%|██████▏ | 2120/3412 [00:37<00:20, 62.57timesteps/s]
62%|██████▏ | 2127/3412 [00:37<00:20, 62.67timesteps/s]
63%|██████▎ | 2134/3412 [00:37<00:20, 62.84timesteps/s]
63%|██████▎ | 2141/3412 [00:37<00:20, 62.96timesteps/s]
63%|██████▎ | 2148/3412 [00:37<00:20, 62.98timesteps/s]
63%|██████▎ | 2155/3412 [00:37<00:19, 63.01timesteps/s]
63%|██████▎ | 2162/3412 [00:37<00:20, 62.43timesteps/s]
64%|██████▎ | 2169/3412 [00:37<00:19, 62.40timesteps/s]
64%|██████▍ | 2176/3412 [00:38<00:19, 62.58timesteps/s]
64%|██████▍ | 2183/3412 [00:38<00:19, 62.68timesteps/s]
64%|██████▍ | 2190/3412 [00:38<00:19, 62.84timesteps/s]
64%|██████▍ | 2197/3412 [00:38<00:19, 62.96timesteps/s]
65%|██████▍ | 2204/3412 [00:38<00:19, 63.11timesteps/s]
65%|██████▍ | 2211/3412 [00:38<00:19, 63.13timesteps/s]
65%|██████▌ | 2218/3412 [00:38<00:18, 63.04timesteps/s]
65%|██████▌ | 2225/3412 [00:38<00:18, 63.14timesteps/s]
65%|██████▌ | 2232/3412 [00:38<00:18, 63.37timesteps/s]
66%|██████▌ | 2239/3412 [00:39<00:18, 63.57timesteps/s]
66%|██████▌ | 2246/3412 [00:39<00:18, 63.72timesteps/s]
66%|██████▌ | 2253/3412 [00:39<00:18, 63.79timesteps/s]
66%|██████▌ | 2260/3412 [00:39<00:18, 63.87timesteps/s]
66%|██████▋ | 2267/3412 [00:39<00:17, 63.87timesteps/s]
67%|██████▋ | 2274/3412 [00:39<00:17, 63.92timesteps/s]
67%|██████▋ | 2281/3412 [00:39<00:17, 63.92timesteps/s]
67%|██████▋ | 2288/3412 [00:39<00:17, 62.87timesteps/s]
67%|██████▋ | 2295/3412 [00:39<00:17, 62.61timesteps/s]
67%|██████▋ | 2302/3412 [00:40<00:17, 62.79timesteps/s]
68%|██████▊ | 2309/3412 [00:40<00:17, 63.02timesteps/s]
68%|██████▊ | 2316/3412 [00:40<00:17, 63.18timesteps/s]
68%|██████▊ | 2323/3412 [00:40<00:17, 63.28timesteps/s]
68%|██████▊ | 2330/3412 [00:40<00:17, 63.35timesteps/s]
68%|██████▊ | 2337/3412 [00:40<00:16, 63.32timesteps/s]
69%|██████▊ | 2344/3412 [00:40<00:16, 63.25timesteps/s]
69%|██████▉ | 2351/3412 [00:40<00:16, 63.21timesteps/s]
69%|██████▉ | 2358/3412 [00:40<00:16, 62.46timesteps/s]
69%|██████▉ | 2365/3412 [00:41<00:16, 62.43timesteps/s]
70%|██████▉ | 2372/3412 [00:41<00:16, 62.58timesteps/s]
70%|██████▉ | 2379/3412 [00:41<00:16, 62.76timesteps/s]
70%|██████▉ | 2386/3412 [00:41<00:16, 62.83timesteps/s]
70%|███████ | 2393/3412 [00:41<00:16, 62.73timesteps/s]
70%|███████ | 2400/3412 [00:41<00:16, 62.91timesteps/s]
71%|███████ | 2407/3412 [00:41<00:15, 62.92timesteps/s]
71%|███████ | 2414/3412 [00:41<00:15, 63.01timesteps/s]
71%|███████ | 2421/3412 [00:41<00:15, 63.04timesteps/s]
71%|███████ | 2428/3412 [00:42<00:15, 63.06timesteps/s]
71%|███████▏ | 2435/3412 [00:42<00:15, 61.93timesteps/s]
72%|███████▏ | 2442/3412 [00:42<00:15, 61.89timesteps/s]
72%|███████▏ | 2449/3412 [00:42<00:15, 62.19timesteps/s]
72%|███████▏ | 2456/3412 [00:42<00:15, 62.47timesteps/s]
72%|███████▏ | 2463/3412 [00:42<00:15, 62.82timesteps/s]
72%|███████▏ | 2470/3412 [00:42<00:14, 63.17timesteps/s]
73%|███████▎ | 2477/3412 [00:42<00:14, 63.32timesteps/s]
73%|███████▎ | 2484/3412 [00:42<00:14, 63.52timesteps/s]
73%|███████▎ | 2491/3412 [00:43<00:14, 63.50timesteps/s]
73%|███████▎ | 2498/3412 [00:43<00:14, 63.39timesteps/s]
73%|███████▎ | 2505/3412 [00:43<00:14, 63.40timesteps/s]
74%|███████▎ | 2512/3412 [00:43<00:14, 63.30timesteps/s]
74%|███████▍ | 2519/3412 [00:43<00:14, 63.32timesteps/s]
74%|███████▍ | 2526/3412 [00:43<00:13, 63.31timesteps/s]
74%|███████▍ | 2533/3412 [00:43<00:13, 63.24timesteps/s]
74%|███████▍ | 2540/3412 [00:43<00:13, 63.30timesteps/s]
75%|███████▍ | 2547/3412 [00:43<00:13, 63.29timesteps/s]
75%|███████▍ | 2554/3412 [00:44<00:13, 63.33timesteps/s]
75%|███████▌ | 2561/3412 [00:44<00:13, 63.37timesteps/s]
75%|███████▌ | 2568/3412 [00:44<00:13, 63.31timesteps/s]
75%|███████▌ | 2575/3412 [00:44<00:13, 63.38timesteps/s]
76%|███████▌ | 2582/3412 [00:44<00:13, 63.38timesteps/s]
76%|███████▌ | 2589/3412 [00:44<00:12, 63.44timesteps/s]
76%|███████▌ | 2596/3412 [00:44<00:12, 63.45timesteps/s]
76%|███████▋ | 2603/3412 [00:44<00:12, 63.42timesteps/s]
76%|███████▋ | 2610/3412 [00:44<00:12, 63.46timesteps/s]
77%|███████▋ | 2617/3412 [00:45<00:12, 63.54timesteps/s]
77%|███████▋ | 2624/3412 [00:45<00:12, 63.75timesteps/s]
77%|███████▋ | 2631/3412 [00:45<00:12, 63.93timesteps/s]
77%|███████▋ | 2638/3412 [00:45<00:12, 63.88timesteps/s]
78%|███████▊ | 2645/3412 [00:45<00:11, 63.98timesteps/s]
78%|███████▊ | 2652/3412 [00:45<00:11, 63.98timesteps/s]
78%|███████▊ | 2659/3412 [00:45<00:11, 64.05timesteps/s]
78%|███████▊ | 2666/3412 [00:45<00:11, 64.06timesteps/s]
78%|███████▊ | 2673/3412 [00:45<00:11, 64.03timesteps/s]
79%|███████▊ | 2680/3412 [00:46<00:11, 63.01timesteps/s]
79%|███████▉ | 2687/3412 [00:46<00:11, 63.02timesteps/s]
79%|███████▉ | 2694/3412 [00:46<00:11, 63.09timesteps/s]
79%|███████▉ | 2701/3412 [00:46<00:11, 63.15timesteps/s]
79%|███████▉ | 2708/3412 [00:46<00:11, 63.15timesteps/s]
80%|███████▉ | 2715/3412 [00:46<00:11, 63.13timesteps/s]
80%|███████▉ | 2722/3412 [00:46<00:10, 63.13timesteps/s]
80%|███████▉ | 2729/3412 [00:46<00:10, 63.25timesteps/s]
80%|████████ | 2736/3412 [00:46<00:10, 63.28timesteps/s]
80%|████████ | 2743/3412 [00:47<00:10, 63.24timesteps/s]
81%|████████ | 2750/3412 [00:47<00:10, 63.33timesteps/s]
81%|████████ | 2757/3412 [00:47<00:10, 63.26timesteps/s]
81%|████████ | 2764/3412 [00:47<00:10, 63.35timesteps/s]
81%|████████ | 2771/3412 [00:47<00:10, 63.34timesteps/s]
81%|████████▏ | 2778/3412 [00:47<00:10, 63.28timesteps/s]
82%|████████▏ | 2785/3412 [00:47<00:09, 63.24timesteps/s]
82%|████████▏ | 2792/3412 [00:47<00:09, 63.14timesteps/s]
82%|████████▏ | 2799/3412 [00:47<00:10, 60.92timesteps/s]
82%|████████▏ | 2806/3412 [00:48<00:09, 60.80timesteps/s]
82%|████████▏ | 2813/3412 [00:48<00:09, 60.53timesteps/s]
83%|████████▎ | 2820/3412 [00:48<00:09, 60.50timesteps/s]
83%|████████▎ | 2827/3412 [00:48<00:09, 60.02timesteps/s]
83%|████████▎ | 2834/3412 [00:48<00:09, 59.86timesteps/s]
83%|████████▎ | 2840/3412 [00:48<00:09, 59.60timesteps/s]
83%|████████▎ | 2846/3412 [00:48<00:09, 59.23timesteps/s]
84%|████████▎ | 2852/3412 [00:48<00:09, 59.27timesteps/s]
84%|████████▍ | 2858/3412 [00:48<00:09, 59.29timesteps/s]
84%|████████▍ | 2865/3412 [00:49<00:09, 59.84timesteps/s]
84%|████████▍ | 2872/3412 [00:49<00:08, 60.07timesteps/s]
84%|████████▍ | 2879/3412 [00:49<00:08, 60.28timesteps/s]
85%|████████▍ | 2886/3412 [00:49<00:08, 60.39timesteps/s]
85%|████████▍ | 2893/3412 [00:49<00:08, 60.47timesteps/s]
85%|████████▍ | 2900/3412 [00:49<00:08, 60.48timesteps/s]
85%|████████▌ | 2907/3412 [00:49<00:08, 60.56timesteps/s]
85%|████████▌ | 2914/3412 [00:49<00:08, 60.57timesteps/s]
86%|████████▌ | 2921/3412 [00:49<00:08, 60.54timesteps/s]
86%|████████▌ | 2928/3412 [00:50<00:07, 60.62timesteps/s]
86%|████████▌ | 2935/3412 [00:50<00:07, 60.59timesteps/s]
86%|████████▌ | 2942/3412 [00:50<00:07, 60.59timesteps/s]
86%|████████▋ | 2949/3412 [00:50<00:07, 59.31timesteps/s]
87%|████████▋ | 2956/3412 [00:50<00:07, 60.33timesteps/s]
87%|████████▋ | 2963/3412 [00:50<00:07, 61.08timesteps/s]
87%|████████▋ | 2970/3412 [00:50<00:07, 61.59timesteps/s]
87%|████████▋ | 2977/3412 [00:50<00:07, 61.91timesteps/s]
87%|████████▋ | 2984/3412 [00:51<00:07, 58.96timesteps/s]
88%|████████▊ | 2990/3412 [00:51<00:07, 58.77timesteps/s]
88%|████████▊ | 2996/3412 [00:51<00:07, 58.68timesteps/s]
88%|████████▊ | 3002/3412 [00:51<00:06, 58.89timesteps/s]
88%|████████▊ | 3008/3412 [00:51<00:06, 58.83timesteps/s]
88%|████████▊ | 3014/3412 [00:51<00:06, 58.69timesteps/s]
89%|████████▊ | 3021/3412 [00:51<00:06, 59.57timesteps/s]
89%|████████▊ | 3028/3412 [00:51<00:06, 60.19timesteps/s]
89%|████████▉ | 3035/3412 [00:51<00:06, 60.42timesteps/s]
89%|████████▉ | 3042/3412 [00:51<00:06, 60.47timesteps/s]
89%|████████▉ | 3049/3412 [00:52<00:05, 60.66timesteps/s]
90%|████████▉ | 3056/3412 [00:52<00:05, 60.73timesteps/s]
90%|████████▉ | 3063/3412 [00:52<00:05, 60.82timesteps/s]
90%|████████▉ | 3070/3412 [00:52<00:05, 60.91timesteps/s]
90%|█████████ | 3077/3412 [00:52<00:05, 60.86timesteps/s]
90%|█████████ | 3084/3412 [00:52<00:05, 60.87timesteps/s]
91%|█████████ | 3091/3412 [00:52<00:05, 60.73timesteps/s]
91%|█████████ | 3098/3412 [00:52<00:05, 60.72timesteps/s]
91%|█████████ | 3105/3412 [00:53<00:05, 60.72timesteps/s]
91%|█████████ | 3112/3412 [00:53<00:04, 60.65timesteps/s]
91%|█████████▏| 3119/3412 [00:53<00:04, 60.74timesteps/s]
92%|█████████▏| 3126/3412 [00:53<00:04, 60.74timesteps/s]
92%|█████████▏| 3133/3412 [00:53<00:04, 60.69timesteps/s]
92%|█████████▏| 3140/3412 [00:53<00:04, 60.74timesteps/s]
92%|█████████▏| 3147/3412 [00:53<00:04, 60.72timesteps/s]
92%|█████████▏| 3154/3412 [00:53<00:04, 60.85timesteps/s]
93%|█████████▎| 3161/3412 [00:53<00:04, 61.00timesteps/s]
93%|█████████▎| 3168/3412 [00:54<00:03, 61.11timesteps/s]
93%|█████████▎| 3175/3412 [00:54<00:03, 61.24timesteps/s]
93%|█████████▎| 3182/3412 [00:54<00:03, 61.25timesteps/s]
93%|█████████▎| 3189/3412 [00:54<00:03, 61.32timesteps/s]
94%|█████████▎| 3196/3412 [00:54<00:03, 61.41timesteps/s]
94%|█████████▍| 3203/3412 [00:54<00:03, 61.33timesteps/s]
94%|█████████▍| 3210/3412 [00:54<00:03, 61.25timesteps/s]
94%|█████████▍| 3217/3412 [00:54<00:03, 61.14timesteps/s]
94%|█████████▍| 3224/3412 [00:54<00:03, 61.09timesteps/s]
95%|█████████▍| 3231/3412 [00:55<00:02, 61.07timesteps/s]
95%|█████████▍| 3238/3412 [00:55<00:02, 60.88timesteps/s]
95%|█████████▌| 3245/3412 [00:55<00:02, 60.71timesteps/s]
95%|█████████▌| 3252/3412 [00:55<00:02, 60.57timesteps/s]
96%|█████████▌| 3259/3412 [00:55<00:02, 60.35timesteps/s]
96%|█████████▌| 3266/3412 [00:55<00:02, 60.01timesteps/s]
96%|█████████▌| 3273/3412 [00:55<00:02, 60.84timesteps/s]
96%|█████████▌| 3280/3412 [00:55<00:02, 60.67timesteps/s]
96%|█████████▋| 3287/3412 [00:56<00:02, 60.94timesteps/s]
97%|█████████▋| 3294/3412 [00:56<00:01, 61.41timesteps/s]
97%|█████████▋| 3301/3412 [00:56<00:01, 59.17timesteps/s]
97%|█████████▋| 3307/3412 [00:56<00:01, 57.85timesteps/s]
97%|█████████▋| 3313/3412 [00:56<00:01, 57.31timesteps/s]
97%|█████████▋| 3320/3412 [00:56<00:01, 58.87timesteps/s]
98%|█████████▊| 3327/3412 [00:56<00:01, 60.15timesteps/s]
98%|█████████▊| 3334/3412 [00:56<00:01, 61.23timesteps/s]
98%|█████████▊| 3341/3412 [00:56<00:01, 61.92timesteps/s]
98%|█████████▊| 3348/3412 [00:57<00:01, 62.40timesteps/s]
98%|█████████▊| 3355/3412 [00:57<00:00, 62.80timesteps/s]
99%|█████████▊| 3362/3412 [00:57<00:00, 63.03timesteps/s]
99%|█████████▊| 3369/3412 [00:57<00:00, 63.23timesteps/s]
99%|█████████▉| 3376/3412 [00:57<00:00, 63.29timesteps/s]
99%|█████████▉| 3383/3412 [00:57<00:00, 63.36timesteps/s]
99%|█████████▉| 3390/3412 [00:57<00:00, 63.20timesteps/s]
100%|█████████▉| 3397/3412 [00:57<00:00, 62.96timesteps/s]
100%|█████████▉| 3404/3412 [00:57<00:00, 63.02timesteps/s]
100%|█████████▉| 3411/3412 [00:58<00:00, 63.03timesteps/s]
100%|██████████| 3412/3412 [00:58<00:00, 58.80timesteps/s]
The error in the $L^1$ norm is less than that of the degree-0 solution, which was on the order of 40%, but it's far from perfect.
firedrake.assemble(abs(q - q0) * dx) / firedrake.assemble(q0 * dx)
np.float64(0.08908932229220605)
Worse yet, the final value of the solution has substantial over- and undershoots. The mathematical term for this is that the true dynamics are monotonicity-preserving -- they don't create new local maxima or minima -- but the numerical scheme is not.
fig, axes = plt.subplots()
axes.set_aspect('equal')
colors = firedrake.tripcolor(q, axes=axes)
fig.colorbar(colors);
To be precise and for later comparison we'll print out exactly how far outside the initial range the solution goes.
q.dat.data_ro.min(), q.dat.data_ro.max()
(np.float64(-0.09991665375509991), np.float64(1.0251643060942375))
But of course we're only using the explicit Euler timestepping scheme, which is of first order, while our spatial discretization should be 2nd-order accurate. Can we do better if we match the asymptotic accuracy of the errors in time and space?
Timestepping¶
Choosing a finite element basis or a numerical flux is part of deciding how we'll discretize the spatial part of the differential operator. After that we have to decide how to discretize in time. The explicit Euler, which we used in the preceding code, has the virtue of simplicity. Next we'll try out the strong stability-preserving Runge-Kutta method of order 3. First, we'll create a form representing the rate of change of $q$ with the upwind flux just as we did before.
q = q0.copy(deepcopy=True)
ϕ = firedrake.TestFunction(Q1)
cell_flux = -inner(grad(ϕ), q * u) * dx
n = firedrake.FacetNormal(mesh)
u_n = max_value(inner(u, n), 0)
f = q * u_n
face_flux = (f('+') - f('-')) * (ϕ('+') - ϕ('-')) * dS
q_in = Constant(0)
influx = q_in * min_value(0, inner(u, n)) * ϕ * ds
outflux = q * max_value(0, inner(u, n)) * ϕ * ds
dq_dt = -(cell_flux + face_flux + influx + outflux)
To implement the SSPRK3 timestepping scheme, we'll introduce some auxiliary functions and solvers for the Runge-Kutta stages.
q1 = firedrake.Function(Q1)
q2 = firedrake.Function(Q1)
F2 = firedrake.replace(dq_dt, {q: q1})
F3 = firedrake.replace(dq_dt, {q: q2})
problems = [
LinearVariationalProblem(m, dt * dq_dt, δq),
LinearVariationalProblem(m, dt * F2, δq),
LinearVariationalProblem(m, dt * F3, δq)
]
solvers = [
LinearVariationalSolver(problem, solver_parameters=parameters)
for problem in problems
]
The timestepping loop is more involved; we have to separately evaluate the Runge-Kutta stages and then form the solution as an appropriate weighted sum.
for step in tqdm.trange(num_steps, unit='timesteps'):
solvers[0].solve()
q1.assign(q + δq)
solvers[1].solve()
q2.assign(3 * q / 4 + (q1 + δq) / 4)
solvers[2].solve()
q.assign(q / 3 + 2 * (q2 + δq) / 3)
0%| | 0/3412 [00:00<?, ?timesteps/s]
0%| | 1/3412 [00:01<1:29:06, 1.57s/timesteps]
0%| | 3/3412 [00:01<25:13, 2.25timesteps/s]
0%| | 5/3412 [00:01<13:47, 4.12timesteps/s]
0%| | 7/3412 [00:01<09:09, 6.20timesteps/s]
0%| | 9/3412 [00:01<06:47, 8.35timesteps/s]
0%| | 11/3412 [00:02<05:24, 10.49timesteps/s]
0%| | 13/3412 [00:02<04:33, 12.41timesteps/s]
0%| | 15/3412 [00:02<04:01, 14.07timesteps/s]
0%| | 17/3412 [00:02<03:38, 15.51timesteps/s]
1%| | 20/3412 [00:02<03:37, 15.58timesteps/s]
1%| | 22/3412 [00:02<03:25, 16.52timesteps/s]
1%| | 24/3412 [00:02<03:15, 17.33timesteps/s]
1%| | 27/3412 [00:02<03:04, 18.38timesteps/s]
1%| | 30/3412 [00:03<02:57, 19.02timesteps/s]
1%| | 33/3412 [00:03<02:53, 19.48timesteps/s]
1%| | 36/3412 [00:03<02:50, 19.76timesteps/s]
1%| | 39/3412 [00:03<02:48, 20.00timesteps/s]
1%| | 42/3412 [00:03<02:47, 20.09timesteps/s]
1%|▏ | 45/3412 [00:03<02:49, 19.82timesteps/s]
1%|▏ | 47/3412 [00:03<02:54, 19.29timesteps/s]
1%|▏ | 49/3412 [00:04<02:54, 19.23timesteps/s]
1%|▏ | 51/3412 [00:04<02:53, 19.40timesteps/s]
2%|▏ | 54/3412 [00:04<02:50, 19.65timesteps/s]
2%|▏ | 56/3412 [00:04<02:50, 19.68timesteps/s]
2%|▏ | 58/3412 [00:04<02:50, 19.69timesteps/s]
2%|▏ | 60/3412 [00:04<02:50, 19.67timesteps/s]
2%|▏ | 62/3412 [00:04<02:49, 19.75timesteps/s]
2%|▏ | 65/3412 [00:04<02:52, 19.41timesteps/s]
2%|▏ | 67/3412 [00:04<02:52, 19.34timesteps/s]
2%|▏ | 69/3412 [00:05<02:51, 19.50timesteps/s]
2%|▏ | 71/3412 [00:05<02:50, 19.61timesteps/s]
2%|▏ | 73/3412 [00:05<02:51, 19.48timesteps/s]
2%|▏ | 75/3412 [00:05<02:51, 19.47timesteps/s]
2%|▏ | 77/3412 [00:05<02:49, 19.62timesteps/s]
2%|▏ | 80/3412 [00:05<02:48, 19.80timesteps/s]
2%|▏ | 82/3412 [00:05<02:48, 19.72timesteps/s]
2%|▏ | 84/3412 [00:05<02:49, 19.66timesteps/s]
3%|▎ | 86/3412 [00:05<02:48, 19.72timesteps/s]
3%|▎ | 88/3412 [00:06<02:47, 19.79timesteps/s]
3%|▎ | 90/3412 [00:06<02:47, 19.84timesteps/s]
3%|▎ | 92/3412 [00:06<03:09, 17.54timesteps/s]
3%|▎ | 94/3412 [00:06<03:03, 18.11timesteps/s]
3%|▎ | 97/3412 [00:06<02:54, 18.96timesteps/s]
3%|▎ | 100/3412 [00:06<02:53, 19.08timesteps/s]
3%|▎ | 103/3412 [00:06<02:49, 19.56timesteps/s]
3%|▎ | 106/3412 [00:06<02:45, 19.93timesteps/s]
3%|▎ | 109/3412 [00:07<02:43, 20.17timesteps/s]
3%|▎ | 112/3412 [00:07<02:42, 20.32timesteps/s]
3%|▎ | 115/3412 [00:07<02:41, 20.43timesteps/s]
3%|▎ | 118/3412 [00:07<02:40, 20.55timesteps/s]
4%|▎ | 121/3412 [00:07<02:39, 20.60timesteps/s]
4%|▎ | 124/3412 [00:07<02:42, 20.17timesteps/s]
4%|▎ | 127/3412 [00:07<02:41, 20.30timesteps/s]
4%|▍ | 130/3412 [00:08<02:40, 20.42timesteps/s]
4%|▍ | 133/3412 [00:08<02:39, 20.50timesteps/s]
4%|▍ | 136/3412 [00:08<02:40, 20.45timesteps/s]
4%|▍ | 139/3412 [00:08<02:39, 20.51timesteps/s]
4%|▍ | 142/3412 [00:08<02:38, 20.59timesteps/s]
4%|▍ | 145/3412 [00:08<02:38, 20.62timesteps/s]
4%|▍ | 148/3412 [00:08<02:38, 20.60timesteps/s]
4%|▍ | 151/3412 [00:09<02:38, 20.62timesteps/s]
5%|▍ | 154/3412 [00:09<02:37, 20.66timesteps/s]
5%|▍ | 157/3412 [00:09<02:37, 20.69timesteps/s]
5%|▍ | 160/3412 [00:09<02:36, 20.74timesteps/s]
5%|▍ | 163/3412 [00:09<02:40, 20.26timesteps/s]
5%|▍ | 166/3412 [00:09<02:39, 20.39timesteps/s]
5%|▍ | 169/3412 [00:10<02:38, 20.52timesteps/s]
5%|▌ | 172/3412 [00:10<02:37, 20.60timesteps/s]
5%|▌ | 175/3412 [00:10<02:36, 20.68timesteps/s]
5%|▌ | 178/3412 [00:10<02:36, 20.72timesteps/s]
5%|▌ | 181/3412 [00:10<02:35, 20.77timesteps/s]
5%|▌ | 184/3412 [00:10<02:36, 20.60timesteps/s]
5%|▌ | 187/3412 [00:10<02:36, 20.65timesteps/s]
6%|▌ | 190/3412 [00:11<02:35, 20.71timesteps/s]
6%|▌ | 193/3412 [00:11<02:36, 20.59timesteps/s]
6%|▌ | 196/3412 [00:11<02:35, 20.63timesteps/s]
6%|▌ | 199/3412 [00:11<02:35, 20.69timesteps/s]
6%|▌ | 202/3412 [00:11<02:34, 20.74timesteps/s]
6%|▌ | 205/3412 [00:11<02:34, 20.73timesteps/s]
6%|▌ | 208/3412 [00:11<02:34, 20.71timesteps/s]
6%|▌ | 211/3412 [00:12<02:34, 20.74timesteps/s]
6%|▋ | 214/3412 [00:12<02:34, 20.76timesteps/s]
6%|▋ | 217/3412 [00:12<02:33, 20.78timesteps/s]
6%|▋ | 220/3412 [00:12<02:33, 20.78timesteps/s]
7%|▋ | 223/3412 [00:12<02:35, 20.45timesteps/s]
7%|▋ | 226/3412 [00:12<02:36, 20.39timesteps/s]
7%|▋ | 229/3412 [00:12<02:35, 20.49timesteps/s]
7%|▋ | 232/3412 [00:13<02:34, 20.60timesteps/s]
7%|▋ | 235/3412 [00:13<02:33, 20.67timesteps/s]
7%|▋ | 238/3412 [00:13<02:33, 20.73timesteps/s]
7%|▋ | 241/3412 [00:13<02:33, 20.61timesteps/s]
7%|▋ | 244/3412 [00:13<02:33, 20.65timesteps/s]
7%|▋ | 247/3412 [00:13<02:32, 20.70timesteps/s]
7%|▋ | 250/3412 [00:13<02:32, 20.74timesteps/s]
7%|▋ | 253/3412 [00:14<02:32, 20.76timesteps/s]
8%|▊ | 256/3412 [00:14<02:31, 20.79timesteps/s]
8%|▊ | 259/3412 [00:14<02:31, 20.75timesteps/s]
8%|▊ | 262/3412 [00:14<02:31, 20.73timesteps/s]
8%|▊ | 265/3412 [00:14<02:31, 20.76timesteps/s]
8%|▊ | 268/3412 [00:14<02:31, 20.76timesteps/s]
8%|▊ | 271/3412 [00:14<02:31, 20.79timesteps/s]
8%|▊ | 274/3412 [00:15<02:30, 20.79timesteps/s]
8%|▊ | 277/3412 [00:15<02:30, 20.78timesteps/s]
8%|▊ | 280/3412 [00:15<02:33, 20.35timesteps/s]
8%|▊ | 283/3412 [00:15<02:33, 20.41timesteps/s]
8%|▊ | 286/3412 [00:15<02:32, 20.55timesteps/s]
8%|▊ | 289/3412 [00:15<02:31, 20.61timesteps/s]
9%|▊ | 292/3412 [00:15<02:30, 20.67timesteps/s]
9%|▊ | 295/3412 [00:16<02:30, 20.73timesteps/s]
9%|▊ | 298/3412 [00:16<02:29, 20.76timesteps/s]
9%|▉ | 301/3412 [00:16<02:30, 20.61timesteps/s]
9%|▉ | 304/3412 [00:16<02:30, 20.61timesteps/s]
9%|▉ | 307/3412 [00:16<02:30, 20.67timesteps/s]
9%|▉ | 310/3412 [00:16<02:29, 20.72timesteps/s]
9%|▉ | 313/3412 [00:16<02:29, 20.74timesteps/s]
9%|▉ | 316/3412 [00:17<02:29, 20.77timesteps/s]
9%|▉ | 319/3412 [00:17<02:28, 20.78timesteps/s]
9%|▉ | 322/3412 [00:17<02:28, 20.78timesteps/s]
10%|▉ | 325/3412 [00:17<02:28, 20.77timesteps/s]
10%|▉ | 328/3412 [00:17<02:28, 20.80timesteps/s]
10%|▉ | 331/3412 [00:17<02:28, 20.80timesteps/s]
10%|▉ | 334/3412 [00:17<02:27, 20.82timesteps/s]
10%|▉ | 337/3412 [00:18<02:27, 20.83timesteps/s]
10%|▉ | 340/3412 [00:18<02:27, 20.83timesteps/s]
10%|█ | 343/3412 [00:18<02:27, 20.84timesteps/s]
10%|█ | 346/3412 [00:18<02:27, 20.84timesteps/s]
10%|█ | 349/3412 [00:18<02:30, 20.36timesteps/s]
10%|█ | 352/3412 [00:18<02:29, 20.41timesteps/s]
10%|█ | 355/3412 [00:19<02:28, 20.52timesteps/s]
10%|█ | 358/3412 [00:19<02:28, 20.61timesteps/s]
11%|█ | 361/3412 [00:19<02:27, 20.67timesteps/s]
11%|█ | 364/3412 [00:19<02:27, 20.70timesteps/s]
11%|█ | 367/3412 [00:19<02:26, 20.74timesteps/s]
11%|█ | 370/3412 [00:19<02:26, 20.77timesteps/s]
11%|█ | 373/3412 [00:19<02:27, 20.65timesteps/s]
11%|█ | 376/3412 [00:20<02:26, 20.69timesteps/s]
11%|█ | 379/3412 [00:20<02:26, 20.70timesteps/s]
11%|█ | 382/3412 [00:20<02:26, 20.74timesteps/s]
11%|█▏ | 385/3412 [00:20<02:25, 20.77timesteps/s]
11%|█▏ | 388/3412 [00:20<02:25, 20.77timesteps/s]
11%|█▏ | 391/3412 [00:20<02:25, 20.80timesteps/s]
12%|█▏ | 394/3412 [00:20<02:25, 20.79timesteps/s]
12%|█▏ | 397/3412 [00:21<02:24, 20.80timesteps/s]
12%|█▏ | 400/3412 [00:21<02:24, 20.80timesteps/s]
12%|█▏ | 403/3412 [00:21<02:24, 20.80timesteps/s]
12%|█▏ | 406/3412 [00:21<02:24, 20.83timesteps/s]
12%|█▏ | 409/3412 [00:21<02:24, 20.84timesteps/s]
12%|█▏ | 412/3412 [00:21<02:24, 20.82timesteps/s]
12%|█▏ | 415/3412 [00:21<02:24, 20.79timesteps/s]
12%|█▏ | 418/3412 [00:22<02:23, 20.80timesteps/s]
12%|█▏ | 421/3412 [00:22<02:23, 20.81timesteps/s]
12%|█▏ | 424/3412 [00:22<02:23, 20.79timesteps/s]
13%|█▎ | 427/3412 [00:22<02:23, 20.74timesteps/s]
13%|█▎ | 430/3412 [00:22<02:23, 20.77timesteps/s]
13%|█▎ | 433/3412 [00:22<02:23, 20.77timesteps/s]
13%|█▎ | 436/3412 [00:22<02:23, 20.78timesteps/s]
13%|█▎ | 439/3412 [00:23<02:22, 20.80timesteps/s]
13%|█▎ | 442/3412 [00:23<02:22, 20.80timesteps/s]
13%|█▎ | 445/3412 [00:23<02:22, 20.81timesteps/s]
13%|█▎ | 448/3412 [00:23<02:22, 20.81timesteps/s]
13%|█▎ | 451/3412 [00:23<02:22, 20.79timesteps/s]
13%|█▎ | 454/3412 [00:23<02:24, 20.48timesteps/s]
13%|█▎ | 457/3412 [00:23<02:24, 20.42timesteps/s]
13%|█▎ | 460/3412 [00:24<02:23, 20.51timesteps/s]
14%|█▎ | 463/3412 [00:24<02:23, 20.59timesteps/s]
14%|█▎ | 466/3412 [00:24<02:22, 20.66timesteps/s]
14%|█▎ | 469/3412 [00:24<02:22, 20.70timesteps/s]
14%|█▍ | 472/3412 [00:24<02:21, 20.74timesteps/s]
14%|█▍ | 475/3412 [00:24<02:21, 20.75timesteps/s]
14%|█▍ | 478/3412 [00:24<02:21, 20.76timesteps/s]
14%|█▍ | 481/3412 [00:25<02:21, 20.76timesteps/s]
14%|█▍ | 484/3412 [00:25<02:21, 20.65timesteps/s]
14%|█▍ | 487/3412 [00:25<02:21, 20.67timesteps/s]
14%|█▍ | 490/3412 [00:25<02:21, 20.71timesteps/s]
14%|█▍ | 493/3412 [00:25<02:20, 20.73timesteps/s]
15%|█▍ | 496/3412 [00:25<02:20, 20.75timesteps/s]
15%|█▍ | 499/3412 [00:25<02:20, 20.75timesteps/s]
15%|█▍ | 502/3412 [00:26<02:20, 20.78timesteps/s]
15%|█▍ | 505/3412 [00:26<02:19, 20.78timesteps/s]
15%|█▍ | 508/3412 [00:26<02:19, 20.78timesteps/s]
15%|█▍ | 511/3412 [00:26<02:19, 20.80timesteps/s]
15%|█▌ | 514/3412 [00:26<02:20, 20.66timesteps/s]
15%|█▌ | 517/3412 [00:26<02:20, 20.62timesteps/s]
15%|█▌ | 520/3412 [00:26<02:20, 20.64timesteps/s]
15%|█▌ | 523/3412 [00:27<02:19, 20.68timesteps/s]
15%|█▌ | 526/3412 [00:27<02:19, 20.72timesteps/s]
16%|█▌ | 529/3412 [00:27<02:18, 20.77timesteps/s]
16%|█▌ | 532/3412 [00:27<02:18, 20.79timesteps/s]
16%|█▌ | 535/3412 [00:27<02:18, 20.73timesteps/s]
16%|█▌ | 538/3412 [00:27<02:18, 20.72timesteps/s]
16%|█▌ | 541/3412 [00:27<02:18, 20.67timesteps/s]
16%|█▌ | 544/3412 [00:28<02:18, 20.72timesteps/s]
16%|█▌ | 547/3412 [00:28<02:18, 20.73timesteps/s]
16%|█▌ | 550/3412 [00:28<02:17, 20.75timesteps/s]
16%|█▌ | 553/3412 [00:28<02:21, 20.26timesteps/s]
16%|█▋ | 556/3412 [00:28<02:20, 20.37timesteps/s]
16%|█▋ | 559/3412 [00:28<02:19, 20.49timesteps/s]
16%|█▋ | 562/3412 [00:29<02:18, 20.56timesteps/s]
17%|█▋ | 565/3412 [00:29<02:18, 20.59timesteps/s]
17%|█▋ | 568/3412 [00:29<02:17, 20.65timesteps/s]
17%|█▋ | 571/3412 [00:29<02:17, 20.68timesteps/s]
17%|█▋ | 574/3412 [00:29<02:18, 20.52timesteps/s]
17%|█▋ | 577/3412 [00:29<02:17, 20.58timesteps/s]
17%|█▋ | 580/3412 [00:29<02:17, 20.62timesteps/s]
17%|█▋ | 583/3412 [00:30<02:17, 20.54timesteps/s]
17%|█▋ | 586/3412 [00:30<02:17, 20.56timesteps/s]
17%|█▋ | 589/3412 [00:30<02:17, 20.46timesteps/s]
17%|█▋ | 592/3412 [00:30<02:17, 20.54timesteps/s]
17%|█▋ | 595/3412 [00:30<02:16, 20.60timesteps/s]
18%|█▊ | 598/3412 [00:30<02:16, 20.62timesteps/s]
18%|█▊ | 601/3412 [00:30<02:16, 20.64timesteps/s]
18%|█▊ | 604/3412 [00:31<02:15, 20.67timesteps/s]
18%|█▊ | 607/3412 [00:31<02:15, 20.71timesteps/s]
18%|█▊ | 610/3412 [00:31<02:15, 20.71timesteps/s]
18%|█▊ | 613/3412 [00:31<02:15, 20.73timesteps/s]
18%|█▊ | 616/3412 [00:31<02:14, 20.77timesteps/s]
18%|█▊ | 619/3412 [00:31<02:14, 20.75timesteps/s]
18%|█▊ | 622/3412 [00:31<02:14, 20.76timesteps/s]
18%|█▊ | 625/3412 [00:32<02:15, 20.58timesteps/s]
18%|█▊ | 628/3412 [00:32<02:15, 20.60timesteps/s]
18%|█▊ | 631/3412 [00:32<02:14, 20.64timesteps/s]
19%|█▊ | 634/3412 [00:32<02:14, 20.70timesteps/s]
19%|█▊ | 637/3412 [00:32<02:13, 20.73timesteps/s]
19%|█▉ | 640/3412 [00:32<02:13, 20.76timesteps/s]
19%|█▉ | 643/3412 [00:32<02:13, 20.72timesteps/s]
19%|█▉ | 646/3412 [00:33<02:13, 20.74timesteps/s]
19%|█▉ | 649/3412 [00:33<02:13, 20.77timesteps/s]
19%|█▉ | 652/3412 [00:33<02:12, 20.77timesteps/s]
19%|█▉ | 655/3412 [00:33<02:12, 20.77timesteps/s]
19%|█▉ | 658/3412 [00:33<02:12, 20.79timesteps/s]
19%|█▉ | 661/3412 [00:33<02:12, 20.79timesteps/s]
19%|█▉ | 664/3412 [00:33<02:13, 20.62timesteps/s]
20%|█▉ | 667/3412 [00:34<02:13, 20.59timesteps/s]
20%|█▉ | 670/3412 [00:34<02:15, 20.19timesteps/s]
20%|█▉ | 673/3412 [00:34<02:14, 20.35timesteps/s]
20%|█▉ | 676/3412 [00:34<02:13, 20.47timesteps/s]
20%|█▉ | 679/3412 [00:34<02:12, 20.56timesteps/s]
20%|█▉ | 682/3412 [00:34<02:12, 20.64timesteps/s]
20%|██ | 685/3412 [00:34<02:11, 20.67timesteps/s]
20%|██ | 688/3412 [00:35<02:11, 20.72timesteps/s]
20%|██ | 691/3412 [00:35<02:11, 20.72timesteps/s]
20%|██ | 694/3412 [00:35<02:10, 20.76timesteps/s]
20%|██ | 697/3412 [00:35<02:10, 20.78timesteps/s]
21%|██ | 700/3412 [00:35<02:10, 20.75timesteps/s]
21%|██ | 703/3412 [00:35<02:10, 20.78timesteps/s]
21%|██ | 706/3412 [00:35<02:10, 20.66timesteps/s]
21%|██ | 709/3412 [00:36<02:10, 20.70timesteps/s]
21%|██ | 712/3412 [00:36<02:11, 20.58timesteps/s]
21%|██ | 715/3412 [00:36<02:10, 20.63timesteps/s]
21%|██ | 718/3412 [00:36<02:10, 20.69timesteps/s]
21%|██ | 721/3412 [00:36<02:09, 20.73timesteps/s]
21%|██ | 724/3412 [00:36<02:09, 20.72timesteps/s]
21%|██▏ | 727/3412 [00:36<02:09, 20.77timesteps/s]
21%|██▏ | 730/3412 [00:37<02:09, 20.78timesteps/s]
21%|██▏ | 733/3412 [00:37<02:09, 20.76timesteps/s]
22%|██▏ | 736/3412 [00:37<02:08, 20.76timesteps/s]
22%|██▏ | 739/3412 [00:37<02:08, 20.77timesteps/s]
22%|██▏ | 742/3412 [00:37<02:08, 20.79timesteps/s]
22%|██▏ | 745/3412 [00:37<02:08, 20.76timesteps/s]
22%|██▏ | 748/3412 [00:38<02:08, 20.74timesteps/s]
22%|██▏ | 751/3412 [00:38<02:08, 20.77timesteps/s]
22%|██▏ | 754/3412 [00:38<02:08, 20.69timesteps/s]
22%|██▏ | 757/3412 [00:38<02:08, 20.71timesteps/s]
22%|██▏ | 760/3412 [00:38<02:08, 20.71timesteps/s]
22%|██▏ | 763/3412 [00:38<02:07, 20.76timesteps/s]
22%|██▏ | 766/3412 [00:38<02:07, 20.79timesteps/s]
23%|██▎ | 769/3412 [00:39<02:06, 20.81timesteps/s]
23%|██▎ | 772/3412 [00:39<02:06, 20.82timesteps/s]
23%|██▎ | 775/3412 [00:39<02:06, 20.85timesteps/s]
23%|██▎ | 778/3412 [00:39<02:06, 20.85timesteps/s]
23%|██▎ | 781/3412 [00:39<02:06, 20.85timesteps/s]
23%|██▎ | 784/3412 [00:39<02:05, 20.86timesteps/s]
23%|██▎ | 787/3412 [00:39<02:05, 20.86timesteps/s]
23%|██▎ | 790/3412 [00:40<02:06, 20.77timesteps/s]
23%|██▎ | 793/3412 [00:40<02:05, 20.80timesteps/s]
23%|██▎ | 796/3412 [00:40<02:05, 20.81timesteps/s]
23%|██▎ | 799/3412 [00:40<02:05, 20.84timesteps/s]
24%|██▎ | 802/3412 [00:40<02:05, 20.86timesteps/s]
24%|██▎ | 805/3412 [00:40<02:05, 20.84timesteps/s]
24%|██▎ | 808/3412 [00:40<02:06, 20.60timesteps/s]
24%|██▍ | 811/3412 [00:41<02:07, 20.39timesteps/s]
24%|██▍ | 814/3412 [00:41<02:06, 20.50timesteps/s]
24%|██▍ | 817/3412 [00:41<02:05, 20.61timesteps/s]
24%|██▍ | 820/3412 [00:41<02:05, 20.68timesteps/s]
24%|██▍ | 823/3412 [00:41<02:05, 20.56timesteps/s]
24%|██▍ | 826/3412 [00:41<02:05, 20.64timesteps/s]
24%|██▍ | 829/3412 [00:41<02:04, 20.68timesteps/s]
24%|██▍ | 832/3412 [00:42<02:05, 20.60timesteps/s]
24%|██▍ | 835/3412 [00:42<02:04, 20.66timesteps/s]
25%|██▍ | 838/3412 [00:42<02:04, 20.70timesteps/s]
25%|██▍ | 841/3412 [00:42<02:03, 20.74timesteps/s]
25%|██▍ | 844/3412 [00:42<02:03, 20.75timesteps/s]
25%|██▍ | 847/3412 [00:42<02:03, 20.79timesteps/s]
25%|██▍ | 850/3412 [00:42<02:03, 20.77timesteps/s]
25%|██▌ | 853/3412 [00:43<02:03, 20.78timesteps/s]
25%|██▌ | 856/3412 [00:43<02:02, 20.80timesteps/s]
25%|██▌ | 859/3412 [00:43<02:02, 20.80timesteps/s]
25%|██▌ | 862/3412 [00:43<02:05, 20.35timesteps/s]
25%|██▌ | 865/3412 [00:43<02:04, 20.45timesteps/s]
25%|██▌ | 868/3412 [00:43<02:03, 20.55timesteps/s]
26%|██▌ | 871/3412 [00:43<02:03, 20.63timesteps/s]
26%|██▌ | 874/3412 [00:44<02:02, 20.70timesteps/s]
26%|██▌ | 877/3412 [00:44<02:02, 20.75timesteps/s]
26%|██▌ | 880/3412 [00:44<02:01, 20.79timesteps/s]
26%|██▌ | 883/3412 [00:44<02:01, 20.80timesteps/s]
26%|██▌ | 886/3412 [00:44<02:01, 20.82timesteps/s]
26%|██▌ | 889/3412 [00:44<02:01, 20.82timesteps/s]
26%|██▌ | 892/3412 [00:44<02:00, 20.83timesteps/s]
26%|██▌ | 895/3412 [00:45<02:00, 20.85timesteps/s]
26%|██▋ | 898/3412 [00:45<02:00, 20.85timesteps/s]
26%|██▋ | 901/3412 [00:45<02:00, 20.85timesteps/s]
26%|██▋ | 904/3412 [00:45<02:00, 20.86timesteps/s]
27%|██▋ | 907/3412 [00:45<02:00, 20.86timesteps/s]
27%|██▋ | 910/3412 [00:45<01:59, 20.85timesteps/s]
27%|██▋ | 913/3412 [00:45<02:00, 20.82timesteps/s]
27%|██▋ | 916/3412 [00:46<02:00, 20.77timesteps/s]
27%|██▋ | 919/3412 [00:46<02:00, 20.76timesteps/s]
27%|██▋ | 922/3412 [00:46<01:59, 20.78timesteps/s]
27%|██▋ | 925/3412 [00:46<01:59, 20.78timesteps/s]
27%|██▋ | 928/3412 [00:46<01:59, 20.81timesteps/s]
27%|██▋ | 931/3412 [00:46<01:59, 20.81timesteps/s]
27%|██▋ | 934/3412 [00:46<01:58, 20.82timesteps/s]
27%|██▋ | 937/3412 [00:47<01:58, 20.84timesteps/s]
28%|██▊ | 940/3412 [00:47<01:58, 20.83timesteps/s]
28%|██▊ | 943/3412 [00:47<01:58, 20.84timesteps/s]
28%|██▊ | 946/3412 [00:47<01:58, 20.83timesteps/s]
28%|██▊ | 949/3412 [00:47<01:58, 20.82timesteps/s]
28%|██▊ | 952/3412 [00:47<01:58, 20.84timesteps/s]
28%|██▊ | 955/3412 [00:47<01:57, 20.82timesteps/s]
28%|██▊ | 958/3412 [00:48<01:57, 20.82timesteps/s]
28%|██▊ | 961/3412 [00:48<01:57, 20.83timesteps/s]
28%|██▊ | 964/3412 [00:48<01:57, 20.82timesteps/s]
28%|██▊ | 967/3412 [00:48<01:57, 20.84timesteps/s]
28%|██▊ | 970/3412 [00:48<01:57, 20.84timesteps/s]
29%|██▊ | 973/3412 [00:48<01:57, 20.80timesteps/s]
29%|██▊ | 976/3412 [00:48<01:57, 20.80timesteps/s]
29%|██▊ | 979/3412 [00:49<01:59, 20.33timesteps/s]
29%|██▉ | 982/3412 [00:49<01:58, 20.43timesteps/s]
29%|██▉ | 985/3412 [00:49<01:58, 20.53timesteps/s]
29%|██▉ | 988/3412 [00:49<01:57, 20.63timesteps/s]
29%|██▉ | 991/3412 [00:49<01:56, 20.69timesteps/s]
29%|██▉ | 994/3412 [00:49<01:56, 20.74timesteps/s]
29%|██▉ | 997/3412 [00:50<01:56, 20.75timesteps/s]
29%|██▉ | 1000/3412 [00:50<01:56, 20.76timesteps/s]
29%|██▉ | 1003/3412 [00:50<01:56, 20.74timesteps/s]
29%|██▉ | 1006/3412 [00:50<01:55, 20.76timesteps/s]
30%|██▉ | 1009/3412 [00:50<01:55, 20.75timesteps/s]
30%|██▉ | 1012/3412 [00:50<01:55, 20.72timesteps/s]
30%|██▉ | 1015/3412 [00:50<01:55, 20.72timesteps/s]
30%|██▉ | 1018/3412 [00:51<01:55, 20.65timesteps/s]
30%|██▉ | 1021/3412 [00:51<01:55, 20.68timesteps/s]
30%|███ | 1024/3412 [00:51<01:55, 20.74timesteps/s]
30%|███ | 1027/3412 [00:51<01:54, 20.77timesteps/s]
30%|███ | 1030/3412 [00:51<01:54, 20.79timesteps/s]
30%|███ | 1033/3412 [00:51<01:54, 20.80timesteps/s]
30%|███ | 1036/3412 [00:51<01:54, 20.78timesteps/s]
30%|███ | 1039/3412 [00:52<01:54, 20.80timesteps/s]
31%|███ | 1042/3412 [00:52<01:54, 20.62timesteps/s]
31%|███ | 1045/3412 [00:52<01:54, 20.66timesteps/s]
31%|███ | 1048/3412 [00:52<01:54, 20.72timesteps/s]
31%|███ | 1051/3412 [00:52<01:53, 20.76timesteps/s]
31%|███ | 1054/3412 [00:52<01:53, 20.77timesteps/s]
31%|███ | 1057/3412 [00:52<01:53, 20.77timesteps/s]
31%|███ | 1060/3412 [00:53<01:53, 20.79timesteps/s]
31%|███ | 1063/3412 [00:53<01:52, 20.80timesteps/s]
31%|███ | 1066/3412 [00:53<01:52, 20.81timesteps/s]
31%|███▏ | 1069/3412 [00:53<01:52, 20.81timesteps/s]
31%|███▏ | 1072/3412 [00:53<01:52, 20.83timesteps/s]
32%|███▏ | 1075/3412 [00:53<01:52, 20.83timesteps/s]
32%|███▏ | 1078/3412 [00:53<01:52, 20.81timesteps/s]
32%|███▏ | 1081/3412 [00:54<01:52, 20.80timesteps/s]
32%|███▏ | 1084/3412 [00:54<01:51, 20.79timesteps/s]
32%|███▏ | 1087/3412 [00:54<01:51, 20.81timesteps/s]
32%|███▏ | 1090/3412 [00:54<01:51, 20.80timesteps/s]
32%|███▏ | 1093/3412 [00:54<01:51, 20.81timesteps/s]
32%|███▏ | 1096/3412 [00:54<01:51, 20.82timesteps/s]
32%|███▏ | 1099/3412 [00:54<01:51, 20.80timesteps/s]
32%|███▏ | 1102/3412 [00:55<01:51, 20.80timesteps/s]
32%|███▏ | 1105/3412 [00:55<01:51, 20.77timesteps/s]
32%|███▏ | 1108/3412 [00:55<01:51, 20.73timesteps/s]
33%|███▎ | 1111/3412 [00:55<01:50, 20.77timesteps/s]
33%|███▎ | 1114/3412 [00:55<01:50, 20.78timesteps/s]
33%|███▎ | 1117/3412 [00:55<01:50, 20.79timesteps/s]
33%|███▎ | 1120/3412 [00:55<01:50, 20.80timesteps/s]
33%|███▎ | 1123/3412 [00:56<01:50, 20.74timesteps/s]
33%|███▎ | 1126/3412 [00:56<01:50, 20.78timesteps/s]
33%|███▎ | 1129/3412 [00:56<01:49, 20.79timesteps/s]
33%|███▎ | 1132/3412 [00:56<01:49, 20.78timesteps/s]
33%|███▎ | 1135/3412 [00:56<01:49, 20.79timesteps/s]
33%|███▎ | 1138/3412 [00:56<01:49, 20.78timesteps/s]
33%|███▎ | 1141/3412 [00:56<01:49, 20.80timesteps/s]
34%|███▎ | 1144/3412 [00:57<01:49, 20.80timesteps/s]
34%|███▎ | 1147/3412 [00:57<01:48, 20.80timesteps/s]
34%|███▎ | 1150/3412 [00:57<01:48, 20.80timesteps/s]
34%|███▍ | 1153/3412 [00:57<01:48, 20.81timesteps/s]
34%|███▍ | 1156/3412 [00:57<01:48, 20.77timesteps/s]
34%|███▍ | 1159/3412 [00:57<01:48, 20.77timesteps/s]
34%|███▍ | 1162/3412 [00:57<01:48, 20.75timesteps/s]
34%|███▍ | 1165/3412 [00:58<01:48, 20.63timesteps/s]
34%|███▍ | 1168/3412 [00:58<01:48, 20.68timesteps/s]
34%|███▍ | 1171/3412 [00:58<01:48, 20.70timesteps/s]
34%|███▍ | 1174/3412 [00:58<01:47, 20.73timesteps/s]
34%|███▍ | 1177/3412 [00:58<01:47, 20.74timesteps/s]
35%|███▍ | 1180/3412 [00:58<01:49, 20.29timesteps/s]
35%|███▍ | 1183/3412 [00:58<01:49, 20.38timesteps/s]
35%|███▍ | 1186/3412 [00:59<01:48, 20.48timesteps/s]
35%|███▍ | 1189/3412 [00:59<01:48, 20.55timesteps/s]
35%|███▍ | 1192/3412 [00:59<01:47, 20.61timesteps/s]
35%|███▌ | 1195/3412 [00:59<01:47, 20.65timesteps/s]
35%|███▌ | 1198/3412 [00:59<01:46, 20.70timesteps/s]
35%|███▌ | 1201/3412 [00:59<01:46, 20.70timesteps/s]
35%|███▌ | 1204/3412 [00:59<01:46, 20.70timesteps/s]
35%|███▌ | 1207/3412 [01:00<01:46, 20.70timesteps/s]
35%|███▌ | 1210/3412 [01:00<01:46, 20.71timesteps/s]
36%|███▌ | 1213/3412 [01:00<01:46, 20.72timesteps/s]
36%|███▌ | 1216/3412 [01:00<01:45, 20.74timesteps/s]
36%|███▌ | 1219/3412 [01:00<01:45, 20.71timesteps/s]
36%|███▌ | 1222/3412 [01:00<01:45, 20.71timesteps/s]
36%|███▌ | 1225/3412 [01:01<01:45, 20.72timesteps/s]
36%|███▌ | 1228/3412 [01:01<01:45, 20.72timesteps/s]
36%|███▌ | 1231/3412 [01:01<01:45, 20.74timesteps/s]
36%|███▌ | 1234/3412 [01:01<01:44, 20.75timesteps/s]
36%|███▋ | 1237/3412 [01:01<01:44, 20.74timesteps/s]
36%|███▋ | 1240/3412 [01:01<01:44, 20.75timesteps/s]
36%|███▋ | 1243/3412 [01:01<01:44, 20.74timesteps/s]
37%|███▋ | 1246/3412 [01:02<01:44, 20.75timesteps/s]
37%|███▋ | 1249/3412 [01:02<01:44, 20.75timesteps/s]
37%|███▋ | 1252/3412 [01:02<01:44, 20.76timesteps/s]
37%|███▋ | 1255/3412 [01:02<01:44, 20.63timesteps/s]
37%|███▋ | 1258/3412 [01:02<01:44, 20.65timesteps/s]
37%|███▋ | 1261/3412 [01:02<01:44, 20.68timesteps/s]
37%|███▋ | 1264/3412 [01:02<01:43, 20.71timesteps/s]
37%|███▋ | 1267/3412 [01:03<01:43, 20.73timesteps/s]
37%|███▋ | 1270/3412 [01:03<01:43, 20.77timesteps/s]
37%|███▋ | 1273/3412 [01:03<01:43, 20.76timesteps/s]
37%|███▋ | 1276/3412 [01:03<01:42, 20.76timesteps/s]
37%|███▋ | 1279/3412 [01:03<01:42, 20.77timesteps/s]
38%|███▊ | 1282/3412 [01:03<01:42, 20.78timesteps/s]
38%|███▊ | 1285/3412 [01:03<01:42, 20.77timesteps/s]
38%|███▊ | 1288/3412 [01:04<01:42, 20.79timesteps/s]
38%|███▊ | 1291/3412 [01:04<01:42, 20.76timesteps/s]
38%|███▊ | 1294/3412 [01:04<01:41, 20.77timesteps/s]
38%|███▊ | 1297/3412 [01:04<01:41, 20.77timesteps/s]
38%|███▊ | 1300/3412 [01:04<01:41, 20.76timesteps/s]
38%|███▊ | 1303/3412 [01:04<01:41, 20.79timesteps/s]
38%|███▊ | 1306/3412 [01:04<01:41, 20.76timesteps/s]
38%|███▊ | 1309/3412 [01:05<01:41, 20.76timesteps/s]
38%|███▊ | 1312/3412 [01:05<01:41, 20.78timesteps/s]
39%|███▊ | 1315/3412 [01:05<01:40, 20.78timesteps/s]
39%|███▊ | 1318/3412 [01:05<01:40, 20.80timesteps/s]
39%|███▊ | 1321/3412 [01:05<01:40, 20.79timesteps/s]
39%|███▉ | 1324/3412 [01:05<01:40, 20.78timesteps/s]
39%|███▉ | 1327/3412 [01:05<01:40, 20.78timesteps/s]
39%|███▉ | 1330/3412 [01:06<01:40, 20.77timesteps/s]
39%|███▉ | 1333/3412 [01:06<01:40, 20.72timesteps/s]
39%|███▉ | 1336/3412 [01:06<01:40, 20.71timesteps/s]
39%|███▉ | 1339/3412 [01:06<01:40, 20.73timesteps/s]
39%|███▉ | 1342/3412 [01:06<01:39, 20.75timesteps/s]
39%|███▉ | 1345/3412 [01:06<01:39, 20.74timesteps/s]
40%|███▉ | 1348/3412 [01:06<01:39, 20.72timesteps/s]
40%|███▉ | 1351/3412 [01:07<01:39, 20.73timesteps/s]
40%|███▉ | 1354/3412 [01:07<01:39, 20.74timesteps/s]
40%|███▉ | 1357/3412 [01:07<01:39, 20.75timesteps/s]
40%|███▉ | 1360/3412 [01:07<01:38, 20.77timesteps/s]
40%|███▉ | 1363/3412 [01:07<01:38, 20.76timesteps/s]
40%|████ | 1366/3412 [01:07<01:38, 20.77timesteps/s]
40%|████ | 1369/3412 [01:07<01:38, 20.69timesteps/s]
40%|████ | 1372/3412 [01:08<01:38, 20.66timesteps/s]
40%|████ | 1375/3412 [01:08<01:38, 20.72timesteps/s]
40%|████ | 1378/3412 [01:08<01:38, 20.73timesteps/s]
40%|████ | 1381/3412 [01:08<01:37, 20.74timesteps/s]
41%|████ | 1384/3412 [01:08<01:37, 20.77timesteps/s]
41%|████ | 1387/3412 [01:08<01:37, 20.77timesteps/s]
41%|████ | 1390/3412 [01:08<01:37, 20.78timesteps/s]
41%|████ | 1393/3412 [01:09<01:37, 20.79timesteps/s]
41%|████ | 1396/3412 [01:09<01:37, 20.78timesteps/s]
41%|████ | 1399/3412 [01:09<01:36, 20.81timesteps/s]
41%|████ | 1402/3412 [01:09<01:36, 20.81timesteps/s]
41%|████ | 1405/3412 [01:09<01:36, 20.80timesteps/s]
41%|████▏ | 1408/3412 [01:09<01:36, 20.82timesteps/s]
41%|████▏ | 1411/3412 [01:09<01:36, 20.80timesteps/s]
41%|████▏ | 1414/3412 [01:10<01:36, 20.80timesteps/s]
42%|████▏ | 1417/3412 [01:10<01:35, 20.80timesteps/s]
42%|████▏ | 1420/3412 [01:10<01:35, 20.80timesteps/s]
42%|████▏ | 1423/3412 [01:10<01:37, 20.36timesteps/s]
42%|████▏ | 1426/3412 [01:10<01:37, 20.41timesteps/s]
42%|████▏ | 1429/3412 [01:10<01:36, 20.51timesteps/s]
42%|████▏ | 1432/3412 [01:10<01:36, 20.59timesteps/s]
42%|████▏ | 1435/3412 [01:11<01:35, 20.65timesteps/s]
42%|████▏ | 1438/3412 [01:11<01:35, 20.70timesteps/s]
42%|████▏ | 1441/3412 [01:11<01:35, 20.72timesteps/s]
42%|████▏ | 1444/3412 [01:11<01:34, 20.74timesteps/s]
42%|████▏ | 1447/3412 [01:11<01:34, 20.77timesteps/s]
42%|████▏ | 1450/3412 [01:11<01:34, 20.77timesteps/s]
43%|████▎ | 1453/3412 [01:11<01:34, 20.78timesteps/s]
43%|████▎ | 1456/3412 [01:12<01:34, 20.78timesteps/s]
43%|████▎ | 1459/3412 [01:12<01:34, 20.77timesteps/s]
43%|████▎ | 1462/3412 [01:12<01:33, 20.79timesteps/s]
43%|████▎ | 1465/3412 [01:12<01:33, 20.79timesteps/s]
43%|████▎ | 1468/3412 [01:12<01:33, 20.78timesteps/s]
43%|████▎ | 1471/3412 [01:12<01:33, 20.79timesteps/s]
43%|████▎ | 1474/3412 [01:13<01:33, 20.78timesteps/s]
43%|████▎ | 1477/3412 [01:13<01:33, 20.79timesteps/s]
43%|████▎ | 1480/3412 [01:13<01:32, 20.80timesteps/s]
43%|████▎ | 1483/3412 [01:13<01:32, 20.81timesteps/s]
44%|████▎ | 1486/3412 [01:13<01:32, 20.82timesteps/s]
44%|████▎ | 1489/3412 [01:13<01:32, 20.82timesteps/s]
44%|████▎ | 1492/3412 [01:13<01:32, 20.78timesteps/s]
44%|████▍ | 1495/3412 [01:14<01:32, 20.76timesteps/s]
44%|████▍ | 1498/3412 [01:14<01:32, 20.78timesteps/s]
44%|████▍ | 1501/3412 [01:14<01:31, 20.78timesteps/s]
44%|████▍ | 1504/3412 [01:14<01:31, 20.80timesteps/s]
44%|████▍ | 1507/3412 [01:14<01:31, 20.80timesteps/s]
44%|████▍ | 1510/3412 [01:14<01:31, 20.81timesteps/s]
44%|████▍ | 1513/3412 [01:14<01:31, 20.65timesteps/s]
44%|████▍ | 1516/3412 [01:15<01:31, 20.66timesteps/s]
45%|████▍ | 1519/3412 [01:15<01:31, 20.71timesteps/s]
45%|████▍ | 1522/3412 [01:15<01:31, 20.73timesteps/s]
45%|████▍ | 1525/3412 [01:15<01:31, 20.73timesteps/s]
45%|████▍ | 1528/3412 [01:15<01:30, 20.77timesteps/s]
45%|████▍ | 1531/3412 [01:15<01:30, 20.78timesteps/s]
45%|████▍ | 1534/3412 [01:15<01:30, 20.79timesteps/s]
45%|████▌ | 1537/3412 [01:16<01:30, 20.81timesteps/s]
45%|████▌ | 1540/3412 [01:16<01:29, 20.82timesteps/s]
45%|████▌ | 1543/3412 [01:16<01:29, 20.84timesteps/s]
45%|████▌ | 1546/3412 [01:16<01:29, 20.84timesteps/s]
45%|████▌ | 1549/3412 [01:16<01:29, 20.83timesteps/s]
45%|████▌ | 1552/3412 [01:16<01:29, 20.84timesteps/s]
46%|████▌ | 1555/3412 [01:16<01:29, 20.82timesteps/s]
46%|████▌ | 1558/3412 [01:17<01:28, 20.83timesteps/s]
46%|████▌ | 1561/3412 [01:17<01:28, 20.82timesteps/s]
46%|████▌ | 1564/3412 [01:17<01:28, 20.82timesteps/s]
46%|████▌ | 1567/3412 [01:17<01:28, 20.83timesteps/s]
46%|████▌ | 1570/3412 [01:17<01:28, 20.82timesteps/s]
46%|████▌ | 1573/3412 [01:17<01:28, 20.81timesteps/s]
46%|████▌ | 1576/3412 [01:17<01:28, 20.83timesteps/s]
46%|████▋ | 1579/3412 [01:18<01:27, 20.83timesteps/s]
46%|████▋ | 1582/3412 [01:18<01:27, 20.83timesteps/s]
46%|████▋ | 1585/3412 [01:18<01:27, 20.83timesteps/s]
47%|████▋ | 1588/3412 [01:18<01:27, 20.83timesteps/s]
47%|████▋ | 1591/3412 [01:18<01:27, 20.84timesteps/s]
47%|████▋ | 1594/3412 [01:18<01:27, 20.83timesteps/s]
47%|████▋ | 1597/3412 [01:18<01:27, 20.82timesteps/s]
47%|████▋ | 1600/3412 [01:19<01:27, 20.83timesteps/s]
47%|████▋ | 1603/3412 [01:19<01:26, 20.82timesteps/s]
47%|████▋ | 1606/3412 [01:19<01:26, 20.77timesteps/s]
47%|████▋ | 1609/3412 [01:19<01:26, 20.74timesteps/s]
47%|████▋ | 1612/3412 [01:19<01:26, 20.76timesteps/s]
47%|████▋ | 1615/3412 [01:19<01:26, 20.78timesteps/s]
47%|████▋ | 1618/3412 [01:19<01:26, 20.79timesteps/s]
48%|████▊ | 1621/3412 [01:20<01:26, 20.78timesteps/s]
48%|████▊ | 1624/3412 [01:20<01:25, 20.80timesteps/s]
48%|████▊ | 1627/3412 [01:20<01:25, 20.79timesteps/s]
48%|████▊ | 1630/3412 [01:20<01:25, 20.82timesteps/s]
48%|████▊ | 1633/3412 [01:20<01:25, 20.80timesteps/s]
48%|████▊ | 1636/3412 [01:20<01:25, 20.80timesteps/s]
48%|████▊ | 1639/3412 [01:20<01:25, 20.82timesteps/s]
48%|████▊ | 1642/3412 [01:21<01:25, 20.81timesteps/s]
48%|████▊ | 1645/3412 [01:21<01:24, 20.79timesteps/s]
48%|████▊ | 1648/3412 [01:21<01:24, 20.81timesteps/s]
48%|████▊ | 1651/3412 [01:21<01:24, 20.80timesteps/s]
48%|████▊ | 1654/3412 [01:21<01:24, 20.81timesteps/s]
49%|████▊ | 1657/3412 [01:21<01:24, 20.80timesteps/s]
49%|████▊ | 1660/3412 [01:21<01:24, 20.80timesteps/s]
49%|████▊ | 1663/3412 [01:22<01:24, 20.69timesteps/s]
49%|████▉ | 1666/3412 [01:22<01:24, 20.73timesteps/s]
49%|████▉ | 1669/3412 [01:22<01:24, 20.75timesteps/s]
49%|████▉ | 1672/3412 [01:22<01:23, 20.77timesteps/s]
49%|████▉ | 1675/3412 [01:22<01:23, 20.78timesteps/s]
49%|████▉ | 1678/3412 [01:22<01:23, 20.80timesteps/s]
49%|████▉ | 1681/3412 [01:22<01:23, 20.80timesteps/s]
49%|████▉ | 1684/3412 [01:23<01:23, 20.79timesteps/s]
49%|████▉ | 1687/3412 [01:23<01:22, 20.80timesteps/s]
50%|████▉ | 1690/3412 [01:23<01:22, 20.79timesteps/s]
50%|████▉ | 1693/3412 [01:23<01:22, 20.79timesteps/s]
50%|████▉ | 1696/3412 [01:23<01:22, 20.81timesteps/s]
50%|████▉ | 1699/3412 [01:23<01:22, 20.79timesteps/s]
50%|████▉ | 1702/3412 [01:23<01:22, 20.80timesteps/s]
50%|████▉ | 1705/3412 [01:24<01:22, 20.79timesteps/s]
50%|█████ | 1708/3412 [01:24<01:21, 20.79timesteps/s]
50%|█████ | 1711/3412 [01:24<01:21, 20.83timesteps/s]
50%|█████ | 1714/3412 [01:24<01:23, 20.38timesteps/s]
50%|█████ | 1717/3412 [01:24<01:22, 20.43timesteps/s]
50%|█████ | 1720/3412 [01:24<01:22, 20.55timesteps/s]
50%|█████ | 1723/3412 [01:24<01:21, 20.61timesteps/s]
51%|█████ | 1726/3412 [01:25<01:21, 20.69timesteps/s]
51%|█████ | 1729/3412 [01:25<01:21, 20.71timesteps/s]
51%|█████ | 1732/3412 [01:25<01:21, 20.74timesteps/s]
51%|█████ | 1735/3412 [01:25<01:20, 20.78timesteps/s]
51%|█████ | 1738/3412 [01:25<01:20, 20.79timesteps/s]
51%|█████ | 1741/3412 [01:25<01:20, 20.77timesteps/s]
51%|█████ | 1744/3412 [01:25<01:20, 20.78timesteps/s]
51%|█████ | 1747/3412 [01:26<01:20, 20.77timesteps/s]
51%|█████▏ | 1750/3412 [01:26<01:19, 20.78timesteps/s]
51%|█████▏ | 1753/3412 [01:26<01:19, 20.78timesteps/s]
51%|█████▏ | 1756/3412 [01:26<01:19, 20.78timesteps/s]
52%|█████▏ | 1759/3412 [01:26<01:19, 20.79timesteps/s]
52%|█████▏ | 1762/3412 [01:26<01:19, 20.80timesteps/s]
52%|█████▏ | 1765/3412 [01:27<01:19, 20.80timesteps/s]
52%|█████▏ | 1768/3412 [01:27<01:18, 20.82timesteps/s]
52%|█████▏ | 1771/3412 [01:27<01:18, 20.83timesteps/s]
52%|█████▏ | 1774/3412 [01:27<01:18, 20.84timesteps/s]
52%|█████▏ | 1777/3412 [01:27<01:18, 20.82timesteps/s]
52%|█████▏ | 1780/3412 [01:27<01:18, 20.82timesteps/s]
52%|█████▏ | 1783/3412 [01:27<01:18, 20.83timesteps/s]
52%|█████▏ | 1786/3412 [01:28<01:18, 20.82timesteps/s]
52%|█████▏ | 1789/3412 [01:28<01:17, 20.81timesteps/s]
53%|█████▎ | 1792/3412 [01:28<01:17, 20.83timesteps/s]
53%|█████▎ | 1795/3412 [01:28<01:17, 20.82timesteps/s]
53%|█████▎ | 1798/3412 [01:28<01:17, 20.83timesteps/s]
53%|█████▎ | 1801/3412 [01:28<01:17, 20.84timesteps/s]
53%|█████▎ | 1804/3412 [01:28<01:17, 20.81timesteps/s]
53%|█████▎ | 1807/3412 [01:29<01:17, 20.81timesteps/s]
53%|█████▎ | 1810/3412 [01:29<01:16, 20.81timesteps/s]
53%|█████▎ | 1813/3412 [01:29<01:16, 20.81timesteps/s]
53%|█████▎ | 1816/3412 [01:29<01:16, 20.83timesteps/s]
53%|█████▎ | 1819/3412 [01:29<01:16, 20.81timesteps/s]
53%|█████▎ | 1822/3412 [01:29<01:16, 20.82timesteps/s]
53%|█████▎ | 1825/3412 [01:29<01:16, 20.64timesteps/s]
54%|█████▎ | 1828/3412 [01:30<01:16, 20.65timesteps/s]
54%|█████▎ | 1831/3412 [01:30<01:16, 20.71timesteps/s]
54%|█████▍ | 1834/3412 [01:30<01:16, 20.72timesteps/s]
54%|█████▍ | 1837/3412 [01:30<01:15, 20.76timesteps/s]
54%|█████▍ | 1840/3412 [01:30<01:15, 20.78timesteps/s]
54%|█████▍ | 1843/3412 [01:30<01:15, 20.79timesteps/s]
54%|█████▍ | 1846/3412 [01:30<01:15, 20.81timesteps/s]
54%|█████▍ | 1849/3412 [01:31<01:15, 20.81timesteps/s]
54%|█████▍ | 1852/3412 [01:31<01:14, 20.81timesteps/s]
54%|█████▍ | 1855/3412 [01:31<01:14, 20.83timesteps/s]
54%|█████▍ | 1858/3412 [01:31<01:14, 20.82timesteps/s]
55%|█████▍ | 1861/3412 [01:31<01:14, 20.83timesteps/s]
55%|█████▍ | 1864/3412 [01:31<01:14, 20.86timesteps/s]
55%|█████▍ | 1867/3412 [01:31<01:14, 20.84timesteps/s]
55%|█████▍ | 1870/3412 [01:32<01:13, 20.85timesteps/s]
55%|█████▍ | 1873/3412 [01:32<01:13, 20.83timesteps/s]
55%|█████▍ | 1876/3412 [01:32<01:13, 20.82timesteps/s]
55%|█████▌ | 1879/3412 [01:32<01:13, 20.83timesteps/s]
55%|█████▌ | 1882/3412 [01:32<01:13, 20.83timesteps/s]
55%|█████▌ | 1885/3412 [01:32<01:13, 20.83timesteps/s]
55%|█████▌ | 1888/3412 [01:33<01:59, 12.78timesteps/s]
55%|█████▌ | 1891/3412 [01:33<01:45, 14.48timesteps/s]
56%|█████▌ | 1894/3412 [01:33<01:35, 15.97timesteps/s]
56%|█████▌ | 1897/3412 [01:33<01:28, 17.20timesteps/s]
56%|█████▌ | 1900/3412 [01:33<01:23, 18.18timesteps/s]
56%|█████▌ | 1903/3412 [01:33<01:19, 18.93timesteps/s]
56%|█████▌ | 1906/3412 [01:34<01:17, 19.50timesteps/s]
56%|█████▌ | 1909/3412 [01:34<01:15, 19.92timesteps/s]
56%|█████▌ | 1912/3412 [01:34<01:14, 20.22timesteps/s]
56%|█████▌ | 1915/3412 [01:34<01:13, 20.46timesteps/s]
56%|█████▌ | 1918/3412 [01:34<01:12, 20.61timesteps/s]
56%|█████▋ | 1921/3412 [01:34<01:11, 20.72timesteps/s]
56%|█████▋ | 1924/3412 [01:34<01:11, 20.79timesteps/s]
56%|█████▋ | 1927/3412 [01:35<01:11, 20.76timesteps/s]
57%|█████▋ | 1930/3412 [01:35<01:11, 20.77timesteps/s]
57%|█████▋ | 1933/3412 [01:35<01:11, 20.83timesteps/s]
57%|█████▋ | 1936/3412 [01:35<01:10, 20.87timesteps/s]
57%|█████▋ | 1939/3412 [01:35<01:10, 20.89timesteps/s]
57%|█████▋ | 1942/3412 [01:35<01:10, 20.92timesteps/s]
57%|█████▋ | 1945/3412 [01:35<01:10, 20.92timesteps/s]
57%|█████▋ | 1948/3412 [01:36<01:09, 20.93timesteps/s]
57%|█████▋ | 1951/3412 [01:36<01:09, 20.94timesteps/s]
57%|█████▋ | 1954/3412 [01:36<01:09, 20.93timesteps/s]
57%|█████▋ | 1957/3412 [01:36<01:09, 20.94timesteps/s]
57%|█████▋ | 1960/3412 [01:36<01:09, 20.94timesteps/s]
58%|█████▊ | 1963/3412 [01:36<01:09, 20.93timesteps/s]
58%|█████▊ | 1966/3412 [01:36<01:09, 20.93timesteps/s]
58%|█████▊ | 1969/3412 [01:37<01:08, 20.92timesteps/s]
58%|█████▊ | 1972/3412 [01:37<01:08, 20.92timesteps/s]
58%|█████▊ | 1975/3412 [01:37<01:08, 20.94timesteps/s]
58%|█████▊ | 1978/3412 [01:37<01:08, 20.93timesteps/s]
58%|█████▊ | 1981/3412 [01:37<01:08, 20.92timesteps/s]
58%|█████▊ | 1984/3412 [01:37<01:08, 20.92timesteps/s]
58%|█████▊ | 1987/3412 [01:37<01:08, 20.91timesteps/s]
58%|█████▊ | 1990/3412 [01:38<01:08, 20.91timesteps/s]
58%|█████▊ | 1993/3412 [01:38<01:07, 20.93timesteps/s]
58%|█████▊ | 1996/3412 [01:38<01:07, 20.93timesteps/s]
59%|█████▊ | 1999/3412 [01:38<01:07, 20.92timesteps/s]
59%|█████▊ | 2002/3412 [01:38<01:07, 20.93timesteps/s]
59%|█████▉ | 2005/3412 [01:38<01:07, 20.93timesteps/s]
59%|█████▉ | 2008/3412 [01:38<01:07, 20.91timesteps/s]
59%|█████▉ | 2011/3412 [01:39<01:06, 20.93timesteps/s]
59%|█████▉ | 2014/3412 [01:39<01:06, 20.92timesteps/s]
59%|█████▉ | 2017/3412 [01:39<01:06, 20.91timesteps/s]
59%|█████▉ | 2020/3412 [01:39<01:06, 20.93timesteps/s]
59%|█████▉ | 2023/3412 [01:39<01:06, 20.93timesteps/s]
59%|█████▉ | 2026/3412 [01:39<01:06, 20.93timesteps/s]
59%|█████▉ | 2029/3412 [01:39<01:06, 20.93timesteps/s]
60%|█████▉ | 2032/3412 [01:40<01:05, 20.92timesteps/s]
60%|█████▉ | 2035/3412 [01:40<01:05, 20.92timesteps/s]
60%|█████▉ | 2038/3412 [01:40<01:05, 20.93timesteps/s]
60%|█████▉ | 2041/3412 [01:40<01:05, 20.93timesteps/s]
60%|█████▉ | 2044/3412 [01:40<01:05, 20.92timesteps/s]
60%|█████▉ | 2047/3412 [01:40<01:05, 20.92timesteps/s]
60%|██████ | 2050/3412 [01:40<01:05, 20.92timesteps/s]
60%|██████ | 2053/3412 [01:41<01:04, 20.92timesteps/s]
60%|██████ | 2056/3412 [01:41<01:04, 20.92timesteps/s]
60%|██████ | 2059/3412 [01:41<01:06, 20.37timesteps/s]
60%|██████ | 2062/3412 [01:41<01:06, 20.44timesteps/s]
61%|██████ | 2065/3412 [01:41<01:05, 20.54timesteps/s]
61%|██████ | 2068/3412 [01:41<01:05, 20.58timesteps/s]
61%|██████ | 2071/3412 [01:41<01:04, 20.64timesteps/s]
61%|██████ | 2074/3412 [01:42<01:04, 20.69timesteps/s]
61%|██████ | 2077/3412 [01:42<01:04, 20.72timesteps/s]
61%|██████ | 2080/3412 [01:42<01:04, 20.77timesteps/s]
61%|██████ | 2083/3412 [01:42<01:03, 20.81timesteps/s]
61%|██████ | 2086/3412 [01:42<01:03, 20.82timesteps/s]
61%|██████ | 2089/3412 [01:42<01:03, 20.83timesteps/s]
61%|██████▏ | 2092/3412 [01:42<01:03, 20.85timesteps/s]
61%|██████▏ | 2095/3412 [01:43<01:03, 20.86timesteps/s]
61%|██████▏ | 2098/3412 [01:43<01:02, 20.86timesteps/s]
62%|██████▏ | 2101/3412 [01:43<01:02, 20.89timesteps/s]
62%|██████▏ | 2104/3412 [01:43<01:02, 20.89timesteps/s]
62%|██████▏ | 2107/3412 [01:43<01:02, 20.89timesteps/s]
62%|██████▏ | 2110/3412 [01:43<01:02, 20.89timesteps/s]
62%|██████▏ | 2113/3412 [01:43<01:02, 20.88timesteps/s]
62%|██████▏ | 2116/3412 [01:44<01:02, 20.89timesteps/s]
62%|██████▏ | 2119/3412 [01:44<01:01, 20.90timesteps/s]
62%|██████▏ | 2122/3412 [01:44<01:01, 20.89timesteps/s]
62%|██████▏ | 2125/3412 [01:44<01:01, 20.89timesteps/s]
62%|██████▏ | 2128/3412 [01:44<01:01, 20.90timesteps/s]
62%|██████▏ | 2131/3412 [01:44<01:01, 20.91timesteps/s]
63%|██████▎ | 2134/3412 [01:45<01:01, 20.89timesteps/s]
63%|██████▎ | 2137/3412 [01:45<01:00, 20.90timesteps/s]
63%|██████▎ | 2140/3412 [01:45<01:00, 20.90timesteps/s]
63%|██████▎ | 2143/3412 [01:45<01:00, 20.89timesteps/s]
63%|██████▎ | 2146/3412 [01:45<01:00, 20.90timesteps/s]
63%|██████▎ | 2149/3412 [01:45<01:00, 20.89timesteps/s]
63%|██████▎ | 2152/3412 [01:45<01:00, 20.88timesteps/s]
63%|██████▎ | 2155/3412 [01:46<01:00, 20.89timesteps/s]
63%|██████▎ | 2158/3412 [01:46<01:00, 20.89timesteps/s]
63%|██████▎ | 2161/3412 [01:46<00:59, 20.90timesteps/s]
63%|██████▎ | 2164/3412 [01:46<00:59, 20.91timesteps/s]
64%|██████▎ | 2167/3412 [01:46<00:59, 20.90timesteps/s]
64%|██████▎ | 2170/3412 [01:46<00:59, 20.89timesteps/s]
64%|██████▎ | 2173/3412 [01:46<00:59, 20.89timesteps/s]
64%|██████▍ | 2176/3412 [01:47<00:59, 20.89timesteps/s]
64%|██████▍ | 2179/3412 [01:47<00:59, 20.88timesteps/s]
64%|██████▍ | 2182/3412 [01:47<00:58, 20.89timesteps/s]
64%|██████▍ | 2185/3412 [01:47<00:58, 20.88timesteps/s]
64%|██████▍ | 2188/3412 [01:47<00:58, 20.86timesteps/s]
64%|██████▍ | 2191/3412 [01:47<00:59, 20.64timesteps/s]
64%|██████▍ | 2194/3412 [01:47<00:58, 20.69timesteps/s]
64%|██████▍ | 2197/3412 [01:48<00:58, 20.72timesteps/s]
64%|██████▍ | 2200/3412 [01:48<00:58, 20.78timesteps/s]
65%|██████▍ | 2203/3412 [01:48<00:58, 20.80timesteps/s]
65%|██████▍ | 2206/3412 [01:48<00:57, 20.82timesteps/s]
65%|██████▍ | 2209/3412 [01:48<00:57, 20.83timesteps/s]
65%|██████▍ | 2212/3412 [01:48<00:57, 20.84timesteps/s]
65%|██████▍ | 2215/3412 [01:48<00:57, 20.84timesteps/s]
65%|██████▌ | 2218/3412 [01:49<00:57, 20.86timesteps/s]
65%|██████▌ | 2221/3412 [01:49<00:57, 20.85timesteps/s]
65%|██████▌ | 2224/3412 [01:49<00:56, 20.86timesteps/s]
65%|██████▌ | 2227/3412 [01:49<00:56, 20.87timesteps/s]
65%|██████▌ | 2230/3412 [01:49<00:56, 20.87timesteps/s]
65%|██████▌ | 2233/3412 [01:49<00:56, 20.85timesteps/s]
66%|██████▌ | 2236/3412 [01:49<00:56, 20.86timesteps/s]
66%|██████▌ | 2239/3412 [01:50<00:56, 20.86timesteps/s]
66%|██████▌ | 2242/3412 [01:50<00:56, 20.85timesteps/s]
66%|██████▌ | 2245/3412 [01:50<00:55, 20.87timesteps/s]
66%|██████▌ | 2248/3412 [01:50<00:55, 20.87timesteps/s]
66%|██████▌ | 2251/3412 [01:50<00:55, 20.85timesteps/s]
66%|██████▌ | 2254/3412 [01:50<00:55, 20.87timesteps/s]
66%|██████▌ | 2257/3412 [01:50<00:55, 20.86timesteps/s]
66%|██████▌ | 2260/3412 [01:51<00:55, 20.85timesteps/s]
66%|██████▋ | 2263/3412 [01:51<00:55, 20.84timesteps/s]
66%|██████▋ | 2266/3412 [01:51<00:55, 20.83timesteps/s]
67%|██████▋ | 2269/3412 [01:51<00:54, 20.84timesteps/s]
67%|██████▋ | 2272/3412 [01:51<00:54, 20.85timesteps/s]
67%|██████▋ | 2275/3412 [01:51<00:54, 20.85timesteps/s]
67%|██████▋ | 2278/3412 [01:51<00:54, 20.84timesteps/s]
67%|██████▋ | 2281/3412 [01:52<00:54, 20.84timesteps/s]
67%|██████▋ | 2284/3412 [01:52<00:54, 20.84timesteps/s]
67%|██████▋ | 2287/3412 [01:52<00:53, 20.84timesteps/s]
67%|██████▋ | 2290/3412 [01:52<00:53, 20.86timesteps/s]
67%|██████▋ | 2293/3412 [01:52<00:53, 20.85timesteps/s]
67%|██████▋ | 2296/3412 [01:52<00:53, 20.84timesteps/s]
67%|██████▋ | 2299/3412 [01:52<00:53, 20.85timesteps/s]
67%|██████▋ | 2302/3412 [01:53<00:53, 20.85timesteps/s]
68%|██████▊ | 2305/3412 [01:53<00:53, 20.84timesteps/s]
68%|██████▊ | 2308/3412 [01:53<00:52, 20.87timesteps/s]
68%|██████▊ | 2311/3412 [01:53<00:52, 20.86timesteps/s]
68%|██████▊ | 2314/3412 [01:53<00:52, 20.85timesteps/s]
68%|██████▊ | 2317/3412 [01:53<00:52, 20.86timesteps/s]
68%|██████▊ | 2320/3412 [01:53<00:52, 20.85timesteps/s]
68%|██████▊ | 2323/3412 [01:54<00:52, 20.77timesteps/s]
68%|██████▊ | 2326/3412 [01:54<00:52, 20.74timesteps/s]
68%|██████▊ | 2329/3412 [01:54<00:52, 20.63timesteps/s]
68%|██████▊ | 2332/3412 [01:54<00:52, 20.69timesteps/s]
68%|██████▊ | 2335/3412 [01:54<00:51, 20.74timesteps/s]
69%|██████▊ | 2338/3412 [01:54<00:51, 20.75timesteps/s]
69%|██████▊ | 2341/3412 [01:54<00:51, 20.77timesteps/s]
69%|██████▊ | 2344/3412 [01:55<00:51, 20.79timesteps/s]
69%|██████▉ | 2347/3412 [01:55<00:51, 20.80timesteps/s]
69%|██████▉ | 2350/3412 [01:55<00:51, 20.81timesteps/s]
69%|██████▉ | 2353/3412 [01:55<00:50, 20.83timesteps/s]
69%|██████▉ | 2356/3412 [01:55<00:50, 20.81timesteps/s]
69%|██████▉ | 2359/3412 [01:55<00:50, 20.83timesteps/s]
69%|██████▉ | 2362/3412 [01:55<00:50, 20.84timesteps/s]
69%|██████▉ | 2365/3412 [01:56<00:50, 20.84timesteps/s]
69%|██████▉ | 2368/3412 [01:56<00:50, 20.83timesteps/s]
69%|██████▉ | 2371/3412 [01:56<00:49, 20.83timesteps/s]
70%|██████▉ | 2374/3412 [01:56<00:49, 20.83timesteps/s]
70%|██████▉ | 2377/3412 [01:56<00:49, 20.83timesteps/s]
70%|██████▉ | 2380/3412 [01:56<00:49, 20.85timesteps/s]
70%|██████▉ | 2383/3412 [01:56<00:49, 20.83timesteps/s]
70%|██████▉ | 2386/3412 [01:57<00:49, 20.83timesteps/s]
70%|███████ | 2389/3412 [01:57<00:49, 20.84timesteps/s]
70%|███████ | 2392/3412 [01:57<00:48, 20.85timesteps/s]
70%|███████ | 2395/3412 [01:57<00:48, 20.84timesteps/s]
70%|███████ | 2398/3412 [01:57<00:48, 20.85timesteps/s]
70%|███████ | 2401/3412 [01:57<00:48, 20.83timesteps/s]
70%|███████ | 2404/3412 [01:57<00:48, 20.81timesteps/s]
71%|███████ | 2407/3412 [01:58<00:48, 20.83timesteps/s]
71%|███████ | 2410/3412 [01:58<00:48, 20.82timesteps/s]
71%|███████ | 2413/3412 [01:58<00:47, 20.81timesteps/s]
71%|███████ | 2416/3412 [01:58<00:47, 20.83timesteps/s]
71%|███████ | 2419/3412 [01:58<00:47, 20.83timesteps/s]
71%|███████ | 2422/3412 [01:58<00:47, 20.82timesteps/s]
71%|███████ | 2425/3412 [01:58<00:47, 20.83timesteps/s]
71%|███████ | 2428/3412 [01:59<00:47, 20.84timesteps/s]
71%|███████ | 2431/3412 [01:59<00:47, 20.83timesteps/s]
71%|███████▏ | 2434/3412 [01:59<00:46, 20.83timesteps/s]
71%|███████▏ | 2437/3412 [01:59<00:46, 20.84timesteps/s]
72%|███████▏ | 2440/3412 [01:59<00:46, 20.83timesteps/s]
72%|███████▏ | 2443/3412 [01:59<00:46, 20.84timesteps/s]
72%|███████▏ | 2446/3412 [01:59<00:46, 20.82timesteps/s]
72%|███████▏ | 2449/3412 [02:00<00:46, 20.81timesteps/s]
72%|███████▏ | 2452/3412 [02:00<00:46, 20.82timesteps/s]
72%|███████▏ | 2455/3412 [02:00<00:45, 20.81timesteps/s]
72%|███████▏ | 2458/3412 [02:00<00:45, 20.81timesteps/s]
72%|███████▏ | 2461/3412 [02:00<00:45, 20.81timesteps/s]
72%|███████▏ | 2464/3412 [02:00<00:45, 20.82timesteps/s]
72%|███████▏ | 2467/3412 [02:00<00:45, 20.82timesteps/s]
72%|███████▏ | 2470/3412 [02:01<00:45, 20.84timesteps/s]
72%|███████▏ | 2473/3412 [02:01<00:45, 20.84timesteps/s]
73%|███████▎ | 2476/3412 [02:01<00:44, 20.83timesteps/s]
73%|███████▎ | 2479/3412 [02:01<00:45, 20.51timesteps/s]
73%|███████▎ | 2482/3412 [02:01<00:45, 20.43timesteps/s]
73%|███████▎ | 2485/3412 [02:01<00:45, 20.53timesteps/s]
73%|███████▎ | 2488/3412 [02:02<00:44, 20.61timesteps/s]
73%|███████▎ | 2491/3412 [02:02<00:44, 20.66timesteps/s]
73%|███████▎ | 2494/3412 [02:02<00:44, 20.70timesteps/s]
73%|███████▎ | 2497/3412 [02:02<00:44, 20.74timesteps/s]
73%|███████▎ | 2500/3412 [02:02<00:43, 20.76timesteps/s]
73%|███████▎ | 2503/3412 [02:02<00:43, 20.78timesteps/s]
73%|███████▎ | 2506/3412 [02:02<00:43, 20.79timesteps/s]
74%|███████▎ | 2509/3412 [02:03<00:43, 20.79timesteps/s]
74%|███████▎ | 2512/3412 [02:03<00:43, 20.79timesteps/s]
74%|███████▎ | 2515/3412 [02:03<00:43, 20.81timesteps/s]
74%|███████▍ | 2518/3412 [02:03<00:42, 20.81timesteps/s]
74%|███████▍ | 2521/3412 [02:03<00:42, 20.80timesteps/s]
74%|███████▍ | 2524/3412 [02:03<00:42, 20.82timesteps/s]
74%|███████▍ | 2527/3412 [02:03<00:42, 20.80timesteps/s]
74%|███████▍ | 2530/3412 [02:04<00:42, 20.76timesteps/s]
74%|███████▍ | 2533/3412 [02:04<00:42, 20.79timesteps/s]
74%|███████▍ | 2536/3412 [02:04<00:42, 20.81timesteps/s]
74%|███████▍ | 2539/3412 [02:04<00:41, 20.80timesteps/s]
75%|███████▍ | 2542/3412 [02:04<00:41, 20.82timesteps/s]
75%|███████▍ | 2545/3412 [02:04<00:41, 20.82timesteps/s]
75%|███████▍ | 2548/3412 [02:04<00:41, 20.83timesteps/s]
75%|███████▍ | 2551/3412 [02:05<00:41, 20.82timesteps/s]
75%|███████▍ | 2554/3412 [02:05<00:41, 20.82timesteps/s]
75%|███████▍ | 2557/3412 [02:05<00:41, 20.83timesteps/s]
75%|███████▌ | 2560/3412 [02:05<00:40, 20.83timesteps/s]
75%|███████▌ | 2563/3412 [02:05<00:40, 20.84timesteps/s]
75%|███████▌ | 2566/3412 [02:05<00:40, 20.83timesteps/s]
75%|███████▌ | 2569/3412 [02:05<00:40, 20.83timesteps/s]
75%|███████▌ | 2572/3412 [02:06<00:40, 20.82timesteps/s]
75%|███████▌ | 2575/3412 [02:06<00:40, 20.82timesteps/s]
76%|███████▌ | 2578/3412 [02:06<00:40, 20.84timesteps/s]
76%|███████▌ | 2581/3412 [02:06<00:39, 20.84timesteps/s]
76%|███████▌ | 2584/3412 [02:06<00:39, 20.85timesteps/s]
76%|███████▌ | 2587/3412 [02:06<00:39, 20.84timesteps/s]
76%|███████▌ | 2590/3412 [02:06<00:39, 20.83timesteps/s]
76%|███████▌ | 2593/3412 [02:07<00:39, 20.84timesteps/s]
76%|███████▌ | 2596/3412 [02:07<00:39, 20.83timesteps/s]
76%|███████▌ | 2599/3412 [02:07<00:38, 20.85timesteps/s]
76%|███████▋ | 2602/3412 [02:07<00:38, 20.83timesteps/s]
76%|███████▋ | 2605/3412 [02:07<00:38, 20.82timesteps/s]
76%|███████▋ | 2608/3412 [02:07<00:38, 20.85timesteps/s]
77%|███████▋ | 2611/3412 [02:07<00:38, 20.83timesteps/s]
77%|███████▋ | 2614/3412 [02:08<00:38, 20.82timesteps/s]
77%|███████▋ | 2617/3412 [02:08<00:38, 20.83timesteps/s]
77%|███████▋ | 2620/3412 [02:08<00:38, 20.83timesteps/s]
77%|███████▋ | 2623/3412 [02:08<00:37, 20.85timesteps/s]
77%|███████▋ | 2626/3412 [02:08<00:37, 20.84timesteps/s]
77%|███████▋ | 2629/3412 [02:08<00:37, 20.84timesteps/s]
77%|███████▋ | 2632/3412 [02:08<00:37, 20.84timesteps/s]
77%|███████▋ | 2635/3412 [02:09<00:37, 20.84timesteps/s]
77%|███████▋ | 2638/3412 [02:09<00:37, 20.69timesteps/s]
77%|███████▋ | 2641/3412 [02:09<00:37, 20.72timesteps/s]
77%|███████▋ | 2644/3412 [02:09<00:37, 20.74timesteps/s]
78%|███████▊ | 2647/3412 [02:09<00:36, 20.77timesteps/s]
78%|███████▊ | 2650/3412 [02:09<00:36, 20.78timesteps/s]
78%|███████▊ | 2653/3412 [02:09<00:36, 20.80timesteps/s]
78%|███████▊ | 2656/3412 [02:10<00:36, 20.82timesteps/s]
78%|███████▊ | 2659/3412 [02:10<00:36, 20.82timesteps/s]
78%|███████▊ | 2662/3412 [02:10<00:36, 20.82timesteps/s]
78%|███████▊ | 2665/3412 [02:10<00:35, 20.83timesteps/s]
78%|███████▊ | 2668/3412 [02:10<00:35, 20.84timesteps/s]
78%|███████▊ | 2671/3412 [02:10<00:35, 20.84timesteps/s]
78%|███████▊ | 2674/3412 [02:10<00:35, 20.82timesteps/s]
78%|███████▊ | 2677/3412 [02:11<00:35, 20.76timesteps/s]
79%|███████▊ | 2680/3412 [02:11<00:35, 20.78timesteps/s]
79%|███████▊ | 2683/3412 [02:11<00:35, 20.79timesteps/s]
79%|███████▊ | 2686/3412 [02:11<00:34, 20.79timesteps/s]
79%|███████▉ | 2689/3412 [02:11<00:34, 20.81timesteps/s]
79%|███████▉ | 2692/3412 [02:11<00:34, 20.79timesteps/s]
79%|███████▉ | 2695/3412 [02:11<00:34, 20.79timesteps/s]
79%|███████▉ | 2698/3412 [02:12<00:34, 20.80timesteps/s]
79%|███████▉ | 2701/3412 [02:12<00:34, 20.80timesteps/s]
79%|███████▉ | 2704/3412 [02:12<00:34, 20.80timesteps/s]
79%|███████▉ | 2707/3412 [02:12<00:33, 20.81timesteps/s]
79%|███████▉ | 2710/3412 [02:12<00:33, 20.81timesteps/s]
80%|███████▉ | 2713/3412 [02:12<00:33, 20.82timesteps/s]
80%|███████▉ | 2716/3412 [02:12<00:33, 20.79timesteps/s]
80%|███████▉ | 2719/3412 [02:13<00:33, 20.80timesteps/s]
80%|███████▉ | 2722/3412 [02:13<00:33, 20.81timesteps/s]
80%|███████▉ | 2725/3412 [02:13<00:33, 20.81timesteps/s]
80%|███████▉ | 2728/3412 [02:13<00:32, 20.84timesteps/s]
80%|████████ | 2731/3412 [02:13<00:32, 20.83timesteps/s]
80%|████████ | 2734/3412 [02:13<00:32, 20.82timesteps/s]
80%|████████ | 2737/3412 [02:13<00:32, 20.82timesteps/s]
80%|████████ | 2740/3412 [02:14<00:32, 20.82timesteps/s]
80%|████████ | 2743/3412 [02:14<00:32, 20.84timesteps/s]
80%|████████ | 2746/3412 [02:14<00:31, 20.83timesteps/s]
81%|████████ | 2749/3412 [02:14<00:31, 20.83timesteps/s]
81%|████████ | 2752/3412 [02:14<00:31, 20.84timesteps/s]
81%|████████ | 2755/3412 [02:14<00:31, 20.84timesteps/s]
81%|████████ | 2758/3412 [02:14<00:31, 20.81timesteps/s]
81%|████████ | 2761/3412 [02:15<00:31, 20.82timesteps/s]
81%|████████ | 2764/3412 [02:15<00:31, 20.83timesteps/s]
81%|████████ | 2767/3412 [02:15<00:30, 20.83timesteps/s]
81%|████████ | 2770/3412 [02:15<00:30, 20.82timesteps/s]
81%|████████▏ | 2773/3412 [02:15<00:30, 20.82timesteps/s]
81%|████████▏ | 2776/3412 [02:15<00:30, 20.84timesteps/s]
81%|████████▏ | 2779/3412 [02:15<00:30, 20.82timesteps/s]
82%|████████▏ | 2782/3412 [02:16<00:30, 20.82timesteps/s]
82%|████████▏ | 2785/3412 [02:16<00:30, 20.83timesteps/s]
82%|████████▏ | 2788/3412 [02:16<00:29, 20.83timesteps/s]
82%|████████▏ | 2791/3412 [02:16<00:29, 20.85timesteps/s]
82%|████████▏ | 2794/3412 [02:16<00:29, 20.80timesteps/s]
82%|████████▏ | 2797/3412 [02:16<00:29, 20.74timesteps/s]
82%|████████▏ | 2800/3412 [02:16<00:29, 20.77timesteps/s]
82%|████████▏ | 2803/3412 [02:17<00:29, 20.78timesteps/s]
82%|████████▏ | 2806/3412 [02:17<00:29, 20.79timesteps/s]
82%|████████▏ | 2809/3412 [02:17<00:28, 20.80timesteps/s]
82%|████████▏ | 2812/3412 [02:17<00:28, 20.80timesteps/s]
83%|████████▎ | 2815/3412 [02:17<00:28, 20.82timesteps/s]
83%|████████▎ | 2818/3412 [02:17<00:28, 20.81timesteps/s]
83%|████████▎ | 2821/3412 [02:18<00:28, 20.79timesteps/s]
83%|████████▎ | 2824/3412 [02:18<00:28, 20.81timesteps/s]
83%|████████▎ | 2827/3412 [02:18<00:28, 20.81timesteps/s]
83%|████████▎ | 2830/3412 [02:18<00:27, 20.82timesteps/s]
83%|████████▎ | 2833/3412 [02:18<00:27, 20.83timesteps/s]
83%|████████▎ | 2836/3412 [02:18<00:27, 20.81timesteps/s]
83%|████████▎ | 2839/3412 [02:18<00:27, 20.81timesteps/s]
83%|████████▎ | 2842/3412 [02:19<00:27, 20.81timesteps/s]
83%|████████▎ | 2845/3412 [02:19<00:27, 20.82timesteps/s]
83%|████████▎ | 2848/3412 [02:19<00:27, 20.84timesteps/s]
84%|████████▎ | 2851/3412 [02:19<00:26, 20.84timesteps/s]
84%|████████▎ | 2854/3412 [02:19<00:26, 20.84timesteps/s]
84%|████████▎ | 2857/3412 [02:19<00:26, 20.84timesteps/s]
84%|████████▍ | 2860/3412 [02:19<00:26, 20.84timesteps/s]
84%|████████▍ | 2863/3412 [02:20<00:26, 20.83timesteps/s]
84%|████████▍ | 2866/3412 [02:20<00:26, 20.81timesteps/s]
84%|████████▍ | 2869/3412 [02:20<00:26, 20.80timesteps/s]
84%|████████▍ | 2872/3412 [02:20<00:25, 20.82timesteps/s]
84%|████████▍ | 2875/3412 [02:20<00:25, 20.82timesteps/s]
84%|████████▍ | 2878/3412 [02:20<00:25, 20.82timesteps/s]
84%|████████▍ | 2881/3412 [02:20<00:25, 20.84timesteps/s]
85%|████████▍ | 2884/3412 [02:21<00:25, 20.83timesteps/s]
85%|████████▍ | 2887/3412 [02:21<00:25, 20.82timesteps/s]
85%|████████▍ | 2890/3412 [02:21<00:25, 20.83timesteps/s]
85%|████████▍ | 2893/3412 [02:21<00:24, 20.83timesteps/s]
85%|████████▍ | 2896/3412 [02:21<00:24, 20.85timesteps/s]
85%|████████▍ | 2899/3412 [02:21<00:24, 20.83timesteps/s]
85%|████████▌ | 2902/3412 [02:21<00:24, 20.83timesteps/s]
85%|████████▌ | 2905/3412 [02:22<00:24, 20.62timesteps/s]
85%|████████▌ | 2908/3412 [02:22<00:24, 20.67timesteps/s]
85%|████████▌ | 2911/3412 [02:22<00:24, 20.73timesteps/s]
85%|████████▌ | 2914/3412 [02:22<00:24, 20.74timesteps/s]
85%|████████▌ | 2917/3412 [02:22<00:23, 20.75timesteps/s]
86%|████████▌ | 2920/3412 [02:22<00:23, 20.78timesteps/s]
86%|████████▌ | 2923/3412 [02:22<00:23, 20.79timesteps/s]
86%|████████▌ | 2926/3412 [02:23<00:23, 20.79timesteps/s]
86%|████████▌ | 2929/3412 [02:23<00:23, 20.81timesteps/s]
86%|████████▌ | 2932/3412 [02:23<00:23, 20.80timesteps/s]
86%|████████▌ | 2935/3412 [02:23<00:22, 20.81timesteps/s]
86%|████████▌ | 2938/3412 [02:23<00:22, 20.80timesteps/s]
86%|████████▌ | 2941/3412 [02:23<00:22, 20.81timesteps/s]
86%|████████▋ | 2944/3412 [02:23<00:22, 20.82timesteps/s]
86%|████████▋ | 2947/3412 [02:24<00:22, 20.82timesteps/s]
86%|████████▋ | 2950/3412 [02:24<00:22, 20.82timesteps/s]
87%|████████▋ | 2953/3412 [02:24<00:22, 20.83timesteps/s]
87%|████████▋ | 2956/3412 [02:24<00:21, 20.82timesteps/s]
87%|████████▋ | 2959/3412 [02:24<00:21, 20.83timesteps/s]
87%|████████▋ | 2962/3412 [02:24<00:21, 20.82timesteps/s]
87%|████████▋ | 2965/3412 [02:24<00:21, 20.81timesteps/s]
87%|████████▋ | 2968/3412 [02:25<00:21, 20.83timesteps/s]
87%|████████▋ | 2971/3412 [02:25<00:21, 20.84timesteps/s]
87%|████████▋ | 2974/3412 [02:25<00:21, 20.82timesteps/s]
87%|████████▋ | 2977/3412 [02:25<00:20, 20.83timesteps/s]
87%|████████▋ | 2980/3412 [02:25<00:20, 20.81timesteps/s]
87%|████████▋ | 2983/3412 [02:25<00:20, 20.53timesteps/s]
88%|████████▊ | 2986/3412 [02:25<00:20, 20.38timesteps/s]
88%|████████▊ | 2989/3412 [02:26<00:20, 20.48timesteps/s]
88%|████████▊ | 2992/3412 [02:26<00:20, 20.56timesteps/s]
88%|████████▊ | 2995/3412 [02:26<00:20, 20.60timesteps/s]
88%|████████▊ | 2998/3412 [02:26<00:20, 20.65timesteps/s]
88%|████████▊ | 3001/3412 [02:26<00:19, 20.70timesteps/s]
88%|████████▊ | 3004/3412 [02:26<00:19, 20.73timesteps/s]
88%|████████▊ | 3007/3412 [02:26<00:19, 20.76timesteps/s]
88%|████████▊ | 3010/3412 [02:27<00:19, 20.77timesteps/s]
88%|████████▊ | 3013/3412 [02:27<00:19, 20.76timesteps/s]
88%|████████▊ | 3016/3412 [02:27<00:19, 20.79timesteps/s]
88%|████████▊ | 3019/3412 [02:27<00:18, 20.79timesteps/s]
89%|████████▊ | 3022/3412 [02:27<00:18, 20.79timesteps/s]
89%|████████▊ | 3025/3412 [02:27<00:18, 20.79timesteps/s]
89%|████████▊ | 3028/3412 [02:27<00:18, 20.76timesteps/s]
89%|████████▉ | 3031/3412 [02:28<00:18, 20.77timesteps/s]
89%|████████▉ | 3034/3412 [02:28<00:18, 20.77timesteps/s]
89%|████████▉ | 3037/3412 [02:28<00:18, 20.78timesteps/s]
89%|████████▉ | 3040/3412 [02:28<00:17, 20.80timesteps/s]
89%|████████▉ | 3043/3412 [02:28<00:17, 20.80timesteps/s]
89%|████████▉ | 3046/3412 [02:28<00:17, 20.78timesteps/s]
89%|████████▉ | 3049/3412 [02:28<00:17, 20.80timesteps/s]
89%|████████▉ | 3052/3412 [02:29<00:17, 20.79timesteps/s]
90%|████████▉ | 3055/3412 [02:29<00:17, 20.80timesteps/s]
90%|████████▉ | 3058/3412 [02:29<00:17, 20.80timesteps/s]
90%|████████▉ | 3061/3412 [02:29<00:16, 20.80timesteps/s]
90%|████████▉ | 3064/3412 [02:29<00:16, 20.81timesteps/s]
90%|████████▉ | 3067/3412 [02:29<00:16, 20.80timesteps/s]
90%|████████▉ | 3070/3412 [02:29<00:16, 20.79timesteps/s]
90%|█████████ | 3073/3412 [02:30<00:16, 20.81timesteps/s]
90%|█████████ | 3076/3412 [02:30<00:16, 20.80timesteps/s]
90%|█████████ | 3079/3412 [02:30<00:16, 20.80timesteps/s]
90%|█████████ | 3082/3412 [02:30<00:15, 20.79timesteps/s]
90%|█████████ | 3085/3412 [02:30<00:15, 20.78timesteps/s]
91%|█████████ | 3088/3412 [02:30<00:15, 20.80timesteps/s]
91%|█████████ | 3091/3412 [02:30<00:15, 20.80timesteps/s]
91%|█████████ | 3094/3412 [02:31<00:15, 20.79timesteps/s]
91%|█████████ | 3097/3412 [02:31<00:15, 20.80timesteps/s]
91%|█████████ | 3100/3412 [02:31<00:15, 20.80timesteps/s]
91%|█████████ | 3103/3412 [02:31<00:14, 20.81timesteps/s]
91%|█████████ | 3106/3412 [02:31<00:14, 20.81timesteps/s]
91%|█████████ | 3109/3412 [02:31<00:14, 20.81timesteps/s]
91%|█████████ | 3112/3412 [02:32<00:14, 20.81timesteps/s]
91%|█████████▏| 3115/3412 [02:32<00:14, 20.81timesteps/s]
91%|█████████▏| 3118/3412 [02:32<00:14, 20.79timesteps/s]
91%|█████████▏| 3121/3412 [02:32<00:13, 20.79timesteps/s]
92%|█████████▏| 3124/3412 [02:32<00:13, 20.80timesteps/s]
92%|█████████▏| 3127/3412 [02:32<00:13, 20.80timesteps/s]
92%|█████████▏| 3130/3412 [02:32<00:13, 20.78timesteps/s]
92%|█████████▏| 3133/3412 [02:33<00:13, 20.78timesteps/s]
92%|█████████▏| 3136/3412 [02:33<00:13, 20.79timesteps/s]
92%|█████████▏| 3139/3412 [02:33<00:13, 20.81timesteps/s]
92%|█████████▏| 3142/3412 [02:33<00:12, 20.81timesteps/s]
92%|█████████▏| 3145/3412 [02:33<00:12, 20.81timesteps/s]
92%|█████████▏| 3148/3412 [02:33<00:12, 20.81timesteps/s]
92%|█████████▏| 3151/3412 [02:33<00:12, 20.81timesteps/s]
92%|█████████▏| 3154/3412 [02:34<00:12, 20.77timesteps/s]
93%|█████████▎| 3157/3412 [02:34<00:12, 20.78timesteps/s]
93%|█████████▎| 3160/3412 [02:34<00:12, 20.80timesteps/s]
93%|█████████▎| 3163/3412 [02:34<00:11, 20.80timesteps/s]
93%|█████████▎| 3166/3412 [02:34<00:11, 20.80timesteps/s]
93%|█████████▎| 3169/3412 [02:34<00:11, 20.81timesteps/s]
93%|█████████▎| 3172/3412 [02:34<00:11, 20.67timesteps/s]
93%|█████████▎| 3175/3412 [02:35<00:11, 20.66timesteps/s]
93%|█████████▎| 3178/3412 [02:35<00:11, 20.70timesteps/s]
93%|█████████▎| 3181/3412 [02:35<00:11, 20.72timesteps/s]
93%|█████████▎| 3184/3412 [02:35<00:10, 20.76timesteps/s]
93%|█████████▎| 3187/3412 [02:35<00:10, 20.77timesteps/s]
93%|█████████▎| 3190/3412 [02:35<00:10, 20.78timesteps/s]
94%|█████████▎| 3193/3412 [02:35<00:10, 20.80timesteps/s]
94%|█████████▎| 3196/3412 [02:36<00:10, 20.80timesteps/s]
94%|█████████▍| 3199/3412 [02:36<00:10, 20.83timesteps/s]
94%|█████████▍| 3202/3412 [02:36<00:10, 20.82timesteps/s]
94%|█████████▍| 3205/3412 [02:36<00:09, 20.81timesteps/s]
94%|█████████▍| 3208/3412 [02:36<00:09, 20.82timesteps/s]
94%|█████████▍| 3211/3412 [02:36<00:09, 20.82timesteps/s]
94%|█████████▍| 3214/3412 [02:36<00:09, 20.83timesteps/s]
94%|█████████▍| 3217/3412 [02:37<00:09, 20.83timesteps/s]
94%|█████████▍| 3220/3412 [02:37<00:09, 20.84timesteps/s]
94%|█████████▍| 3223/3412 [02:37<00:09, 20.85timesteps/s]
95%|█████████▍| 3226/3412 [02:37<00:08, 20.85timesteps/s]
95%|█████████▍| 3229/3412 [02:37<00:08, 20.83timesteps/s]
95%|█████████▍| 3232/3412 [02:37<00:08, 20.85timesteps/s]
95%|█████████▍| 3235/3412 [02:37<00:08, 20.83timesteps/s]
95%|█████████▍| 3238/3412 [02:38<00:08, 20.82timesteps/s]
95%|█████████▍| 3241/3412 [02:38<00:08, 20.83timesteps/s]
95%|█████████▌| 3244/3412 [02:38<00:08, 20.83timesteps/s]
95%|█████████▌| 3247/3412 [02:38<00:07, 20.84timesteps/s]
95%|█████████▌| 3250/3412 [02:38<00:07, 20.84timesteps/s]
95%|█████████▌| 3253/3412 [02:38<00:07, 20.83timesteps/s]
95%|█████████▌| 3256/3412 [02:38<00:07, 20.83timesteps/s]
96%|█████████▌| 3259/3412 [02:39<00:07, 20.83timesteps/s]
96%|█████████▌| 3262/3412 [02:39<00:07, 20.83timesteps/s]
96%|█████████▌| 3265/3412 [02:39<00:07, 20.83timesteps/s]
96%|█████████▌| 3268/3412 [02:39<00:06, 20.83timesteps/s]
96%|█████████▌| 3271/3412 [02:39<00:06, 20.84timesteps/s]
96%|█████████▌| 3274/3412 [02:39<00:06, 20.84timesteps/s]
96%|█████████▌| 3277/3412 [02:39<00:06, 20.83timesteps/s]
96%|█████████▌| 3280/3412 [02:40<00:06, 20.82timesteps/s]
96%|█████████▌| 3283/3412 [02:40<00:06, 20.83timesteps/s]
96%|█████████▋| 3286/3412 [02:40<00:06, 20.83timesteps/s]
96%|█████████▋| 3289/3412 [02:40<00:05, 20.84timesteps/s]
96%|█████████▋| 3292/3412 [02:40<00:05, 20.82timesteps/s]
97%|█████████▋| 3295/3412 [02:40<00:05, 20.82timesteps/s]
97%|█████████▋| 3298/3412 [02:40<00:05, 20.81timesteps/s]
97%|█████████▋| 3301/3412 [02:41<00:05, 20.81timesteps/s]
97%|█████████▋| 3304/3412 [02:41<00:05, 20.78timesteps/s]
97%|█████████▋| 3307/3412 [02:41<00:05, 20.78timesteps/s]
97%|█████████▋| 3310/3412 [02:41<00:04, 20.72timesteps/s]
97%|█████████▋| 3313/3412 [02:41<00:04, 20.75timesteps/s]
97%|█████████▋| 3316/3412 [02:41<00:04, 20.76timesteps/s]
97%|█████████▋| 3319/3412 [02:41<00:04, 20.80timesteps/s]
97%|█████████▋| 3322/3412 [02:42<00:04, 20.80timesteps/s]
97%|█████████▋| 3325/3412 [02:42<00:04, 20.82timesteps/s]
98%|█████████▊| 3328/3412 [02:42<00:04, 20.84timesteps/s]
98%|█████████▊| 3331/3412 [02:42<00:03, 20.83timesteps/s]
98%|█████████▊| 3334/3412 [02:42<00:03, 20.82timesteps/s]
98%|█████████▊| 3337/3412 [02:42<00:03, 20.84timesteps/s]
98%|█████████▊| 3340/3412 [02:42<00:03, 20.82timesteps/s]
98%|█████████▊| 3343/3412 [02:43<00:03, 20.84timesteps/s]
98%|█████████▊| 3346/3412 [02:43<00:03, 20.83timesteps/s]
98%|█████████▊| 3349/3412 [02:43<00:03, 20.82timesteps/s]
98%|█████████▊| 3352/3412 [02:43<00:02, 20.84timesteps/s]
98%|█████████▊| 3355/3412 [02:43<00:02, 20.82timesteps/s]
98%|█████████▊| 3358/3412 [02:43<00:02, 20.83timesteps/s]
99%|█████████▊| 3361/3412 [02:43<00:02, 20.79timesteps/s]
99%|█████████▊| 3364/3412 [02:44<00:02, 20.74timesteps/s]
99%|█████████▊| 3367/3412 [02:44<00:02, 20.76timesteps/s]
99%|█████████▉| 3370/3412 [02:44<00:02, 20.77timesteps/s]
99%|█████████▉| 3373/3412 [02:44<00:01, 20.76timesteps/s]
99%|█████████▉| 3376/3412 [02:44<00:01, 20.79timesteps/s]
99%|█████████▉| 3379/3412 [02:44<00:01, 20.79timesteps/s]
99%|█████████▉| 3382/3412 [02:44<00:01, 20.80timesteps/s]
99%|█████████▉| 3385/3412 [02:45<00:01, 20.81timesteps/s]
99%|█████████▉| 3388/3412 [02:45<00:01, 20.81timesteps/s]
99%|█████████▉| 3391/3412 [02:45<00:01, 20.83timesteps/s]
99%|█████████▉| 3394/3412 [02:45<00:00, 20.82timesteps/s]
100%|█████████▉| 3397/3412 [02:45<00:00, 20.82timesteps/s]
100%|█████████▉| 3400/3412 [02:45<00:00, 20.83timesteps/s]
100%|█████████▉| 3403/3412 [02:45<00:00, 20.83timesteps/s]
100%|█████████▉| 3406/3412 [02:46<00:00, 20.82timesteps/s]
100%|█████████▉| 3409/3412 [02:46<00:00, 20.84timesteps/s]
100%|██████████| 3412/3412 [02:46<00:00, 20.83timesteps/s]
100%|██████████| 3412/3412 [02:46<00:00, 20.50timesteps/s]
The SSPRK3 scheme gives a huge improvement in how well it agrees with the true solution.
firedrake.assemble(abs(q - q0) * dx) / firedrake.assemble(q0 * dx)
np.float64(0.0315854897444485)
In the eyeball norm, it looks like it stays pretty well wtihin the upper and lower limits of the initial data.
fig, axes = plt.subplots()
axes.set_aspect('equal')
colors = firedrake.tripcolor(q, axes=axes)
fig.colorbar(colors);
But if we explicitly calculate the upper and lower bounds, we see that this scheme also fails to be monotonicity preserving!
q.dat.data_ro.min(), q.dat.data_ro.max()
(np.float64(-0.015254743794348675), np.float64(1.0011548806442563))
The departures are relatively small but for more challenging or nonlinear problems the overshoots can become more severe. There is (unfortunately) a can't-do theorem that tells us why: the Godunov barrier. This theorem states that any linear, monotonicity-preserving scheme for hyperbolic conservation laws can be at most 1st-order accurate.
In principle this might sound like a bit of a bummer; why bother looking for higher-order accurate numerical schemes if they're doomed to do unphysical things that will likely result in instability? The operative word here is a linear scheme. The Godunov barrier does not rule out the possibility of nonlinear monotonicity-preserving schemes. I find it profoundly disturbing that we should be using nonlinear schemes to approximate the solutions of linear conservation laws, but ours is but to do and die I suppose.
Flux limiters¶
The Godunov barrier motivated the development in the early 80s of post-processing techniques that would turn an otherwise oscillatory scheme into one that does not introduce new local maxima or minima. These ideas fall under the aegis of flux limiters or slope limiters, which apply a transformation that clamps the solution in such a way as to suppress unrealistic gradients near sharp discontinuities but which leave the solution unaltered where it is smooth. The design of limiters is part science and part art. Sweby (1984) established some constraints on the what a good limiter function can look like in order to guarantee that the numerical scheme is variation-diminishing. But there's a very large range within those constraints; Sweby's paper showed three different ones even in 1984 and the wiki article on flux limiters lists 15.
Flux-corrected transport is a huge subject, and rather than try to do it any kind of justice I'll instead refer you to a wonderful book by Dmitri Kuzmin. Instead, let's finish things off by looking at what happens when we add a flux limiter to our simulation above. The application of the limiter will be interleaved with all of the Runge-Kutta stages, and conveniently we can reuse the existing solvers for the SSPRK3 stages.
q.assign(q0)
limiter = firedrake.VertexBasedLimiter(Q1)
for step in tqdm.trange(num_steps, unit='timesteps'):
solvers[0].solve()
q1.assign(q + δq)
limiter.apply(q1)
solvers[1].solve()
q2.assign(3 * q / 4 + (q1 + δq) / 4)
limiter.apply(q2)
solvers[2].solve()
q.assign(q / 3 + 2 * (q2 + δq) / 3)
limiter.apply(q)
0%| | 0/3412 [00:00<?, ?timesteps/s]
0%| | 1/3412 [00:02<2:01:10, 2.13s/timesteps]
0%| | 3/3412 [00:02<34:35, 1.64timesteps/s]
0%| | 5/3412 [00:02<19:01, 2.98timesteps/s]
0%| | 7/3412 [00:02<12:47, 4.43timesteps/s]
0%| | 9/3412 [00:02<09:35, 5.91timesteps/s]
0%| | 11/3412 [00:02<07:44, 7.32timesteps/s]
0%| | 13/3412 [00:03<06:35, 8.59timesteps/s]
0%| | 15/3412 [00:03<05:50, 9.69timesteps/s]
0%| | 17/3412 [00:03<05:20, 10.58timesteps/s]
1%| | 19/3412 [00:03<05:00, 11.28timesteps/s]
1%| | 21/3412 [00:03<04:47, 11.81timesteps/s]
1%| | 23/3412 [00:03<04:37, 12.21timesteps/s]
1%| | 25/3412 [00:03<04:30, 12.51timesteps/s]
1%| | 27/3412 [00:04<04:26, 12.72timesteps/s]
1%| | 29/3412 [00:04<04:22, 12.87timesteps/s]
1%| | 31/3412 [00:04<04:20, 12.98timesteps/s]
1%| | 33/3412 [00:04<04:18, 13.06timesteps/s]
1%| | 35/3412 [00:04<04:17, 13.12timesteps/s]
1%| | 37/3412 [00:04<04:16, 13.15timesteps/s]
1%| | 39/3412 [00:05<04:15, 13.18timesteps/s]
1%| | 41/3412 [00:05<04:15, 13.19timesteps/s]
1%|▏ | 43/3412 [00:05<04:15, 13.20timesteps/s]
1%|▏ | 45/3412 [00:05<04:14, 13.21timesteps/s]
1%|▏ | 47/3412 [00:05<04:14, 13.24timesteps/s]
1%|▏ | 49/3412 [00:05<04:22, 12.83timesteps/s]
1%|▏ | 51/3412 [00:05<04:19, 12.93timesteps/s]
2%|▏ | 53/3412 [00:06<04:22, 12.81timesteps/s]
2%|▏ | 55/3412 [00:06<04:20, 12.91timesteps/s]
2%|▏ | 57/3412 [00:06<04:19, 12.95timesteps/s]
2%|▏ | 59/3412 [00:06<04:18, 12.99timesteps/s]
2%|▏ | 61/3412 [00:06<04:16, 13.06timesteps/s]
2%|▏ | 63/3412 [00:06<04:38, 12.03timesteps/s]
2%|▏ | 65/3412 [00:07<04:29, 12.41timesteps/s]
2%|▏ | 67/3412 [00:07<04:29, 12.39timesteps/s]
2%|▏ | 69/3412 [00:07<04:23, 12.70timesteps/s]
2%|▏ | 71/3412 [00:07<04:17, 12.96timesteps/s]
2%|▏ | 73/3412 [00:07<04:13, 13.17timesteps/s]
2%|▏ | 75/3412 [00:07<04:10, 13.32timesteps/s]
2%|▏ | 77/3412 [00:07<04:08, 13.42timesteps/s]
2%|▏ | 79/3412 [00:08<04:07, 13.49timesteps/s]
2%|▏ | 81/3412 [00:08<04:05, 13.55timesteps/s]
2%|▏ | 83/3412 [00:08<04:06, 13.50timesteps/s]
2%|▏ | 85/3412 [00:08<04:06, 13.50timesteps/s]
3%|▎ | 87/3412 [00:08<04:05, 13.56timesteps/s]
3%|▎ | 89/3412 [00:08<04:04, 13.61timesteps/s]
3%|▎ | 91/3412 [00:08<04:09, 13.32timesteps/s]
3%|▎ | 93/3412 [00:09<04:07, 13.41timesteps/s]
3%|▎ | 95/3412 [00:09<04:05, 13.49timesteps/s]
3%|▎ | 97/3412 [00:09<04:04, 13.55timesteps/s]
3%|▎ | 99/3412 [00:09<04:03, 13.60timesteps/s]
3%|▎ | 101/3412 [00:09<04:02, 13.63timesteps/s]
3%|▎ | 103/3412 [00:09<04:02, 13.67timesteps/s]
3%|▎ | 105/3412 [00:10<04:01, 13.69timesteps/s]
3%|▎ | 107/3412 [00:10<04:01, 13.69timesteps/s]
3%|▎ | 109/3412 [00:10<04:01, 13.70timesteps/s]
3%|▎ | 111/3412 [00:10<04:01, 13.70timesteps/s]
3%|▎ | 113/3412 [00:10<04:00, 13.71timesteps/s]
3%|▎ | 115/3412 [00:10<04:00, 13.70timesteps/s]
3%|▎ | 117/3412 [00:10<04:00, 13.71timesteps/s]
3%|▎ | 119/3412 [00:11<04:00, 13.71timesteps/s]
4%|▎ | 121/3412 [00:11<03:59, 13.72timesteps/s]
4%|▎ | 123/3412 [00:11<04:00, 13.65timesteps/s]
4%|▎ | 125/3412 [00:11<04:02, 13.57timesteps/s]
4%|▎ | 127/3412 [00:11<04:01, 13.61timesteps/s]
4%|▍ | 129/3412 [00:11<04:00, 13.64timesteps/s]
4%|▍ | 131/3412 [00:11<04:00, 13.62timesteps/s]
4%|▍ | 133/3412 [00:12<04:00, 13.62timesteps/s]
4%|▍ | 135/3412 [00:12<04:00, 13.65timesteps/s]
4%|▍ | 137/3412 [00:12<03:59, 13.67timesteps/s]
4%|▍ | 139/3412 [00:12<04:04, 13.36timesteps/s]
4%|▍ | 141/3412 [00:12<04:03, 13.45timesteps/s]
4%|▍ | 143/3412 [00:12<04:01, 13.52timesteps/s]
4%|▍ | 145/3412 [00:12<04:00, 13.57timesteps/s]
4%|▍ | 147/3412 [00:13<04:02, 13.47timesteps/s]
4%|▍ | 149/3412 [00:13<04:01, 13.54timesteps/s]
4%|▍ | 151/3412 [00:13<04:00, 13.57timesteps/s]
4%|▍ | 153/3412 [00:13<03:59, 13.62timesteps/s]
5%|▍ | 155/3412 [00:13<03:59, 13.62timesteps/s]
5%|▍ | 157/3412 [00:13<03:59, 13.61timesteps/s]
5%|▍ | 159/3412 [00:13<03:58, 13.63timesteps/s]
5%|▍ | 161/3412 [00:14<03:58, 13.64timesteps/s]
5%|▍ | 163/3412 [00:14<03:58, 13.64timesteps/s]
5%|▍ | 165/3412 [00:14<04:03, 13.35timesteps/s]
5%|▍ | 167/3412 [00:14<04:01, 13.42timesteps/s]
5%|▍ | 169/3412 [00:14<04:00, 13.50timesteps/s]
5%|▌ | 171/3412 [00:14<03:59, 13.54timesteps/s]
5%|▌ | 173/3412 [00:15<03:58, 13.59timesteps/s]
5%|▌ | 175/3412 [00:15<04:00, 13.48timesteps/s]
5%|▌ | 177/3412 [00:15<03:58, 13.54timesteps/s]
5%|▌ | 179/3412 [00:15<03:58, 13.57timesteps/s]
5%|▌ | 181/3412 [00:15<03:57, 13.60timesteps/s]
5%|▌ | 183/3412 [00:15<03:57, 13.61timesteps/s]
5%|▌ | 185/3412 [00:15<03:57, 13.61timesteps/s]
5%|▌ | 187/3412 [00:16<03:56, 13.63timesteps/s]
6%|▌ | 189/3412 [00:16<03:55, 13.66timesteps/s]
6%|▌ | 191/3412 [00:16<03:55, 13.67timesteps/s]
6%|▌ | 193/3412 [00:16<03:55, 13.68timesteps/s]
6%|▌ | 195/3412 [00:16<03:58, 13.46timesteps/s]
6%|▌ | 197/3412 [00:16<03:59, 13.45timesteps/s]
6%|▌ | 199/3412 [00:16<03:57, 13.51timesteps/s]
6%|▌ | 201/3412 [00:17<03:56, 13.58timesteps/s]
6%|▌ | 203/3412 [00:17<03:55, 13.62timesteps/s]
6%|▌ | 205/3412 [00:17<03:54, 13.65timesteps/s]
6%|▌ | 207/3412 [00:17<03:56, 13.54timesteps/s]
6%|▌ | 209/3412 [00:17<03:55, 13.59timesteps/s]
6%|▌ | 211/3412 [00:17<03:54, 13.62timesteps/s]
6%|▌ | 213/3412 [00:17<03:54, 13.64timesteps/s]
6%|▋ | 215/3412 [00:18<03:54, 13.66timesteps/s]
6%|▋ | 217/3412 [00:18<03:53, 13.68timesteps/s]
6%|▋ | 219/3412 [00:18<03:53, 13.66timesteps/s]
6%|▋ | 221/3412 [00:18<03:53, 13.65timesteps/s]
7%|▋ | 223/3412 [00:18<03:52, 13.69timesteps/s]
7%|▋ | 225/3412 [00:18<03:52, 13.71timesteps/s]
7%|▋ | 227/3412 [00:18<03:52, 13.71timesteps/s]
7%|▋ | 229/3412 [00:19<03:52, 13.72timesteps/s]
7%|▋ | 231/3412 [00:19<03:51, 13.72timesteps/s]
7%|▋ | 233/3412 [00:19<03:57, 13.41timesteps/s]
7%|▋ | 235/3412 [00:19<03:55, 13.46timesteps/s]
7%|▋ | 237/3412 [00:19<03:54, 13.55timesteps/s]
7%|▋ | 239/3412 [00:19<03:53, 13.60timesteps/s]
7%|▋ | 241/3412 [00:20<03:52, 13.64timesteps/s]
7%|▋ | 243/3412 [00:20<03:51, 13.67timesteps/s]
7%|▋ | 245/3412 [00:20<03:51, 13.69timesteps/s]
7%|▋ | 247/3412 [00:20<03:53, 13.55timesteps/s]
7%|▋ | 249/3412 [00:20<03:52, 13.59timesteps/s]
7%|▋ | 251/3412 [00:20<03:51, 13.63timesteps/s]
7%|▋ | 253/3412 [00:20<03:51, 13.67timesteps/s]
7%|▋ | 255/3412 [00:21<03:50, 13.69timesteps/s]
8%|▊ | 257/3412 [00:21<03:50, 13.72timesteps/s]
8%|▊ | 259/3412 [00:21<03:49, 13.72timesteps/s]
8%|▊ | 261/3412 [00:21<03:50, 13.70timesteps/s]
8%|▊ | 263/3412 [00:21<03:50, 13.68timesteps/s]
8%|▊ | 265/3412 [00:21<03:49, 13.70timesteps/s]
8%|▊ | 267/3412 [00:21<03:49, 13.71timesteps/s]
8%|▊ | 269/3412 [00:22<03:49, 13.72timesteps/s]
8%|▊ | 271/3412 [00:22<03:48, 13.72timesteps/s]
8%|▊ | 273/3412 [00:22<03:48, 13.73timesteps/s]
8%|▊ | 275/3412 [00:22<03:48, 13.72timesteps/s]
8%|▊ | 277/3412 [00:22<03:52, 13.50timesteps/s]
8%|▊ | 279/3412 [00:22<03:52, 13.48timesteps/s]
8%|▊ | 281/3412 [00:22<03:51, 13.54timesteps/s]
8%|▊ | 283/3412 [00:23<03:50, 13.59timesteps/s]
8%|▊ | 285/3412 [00:23<03:49, 13.63timesteps/s]
8%|▊ | 287/3412 [00:23<03:48, 13.66timesteps/s]
8%|▊ | 289/3412 [00:23<03:48, 13.69timesteps/s]
9%|▊ | 291/3412 [00:23<03:47, 13.70timesteps/s]
9%|▊ | 293/3412 [00:23<03:47, 13.72timesteps/s]
9%|▊ | 295/3412 [00:23<03:49, 13.58timesteps/s]
9%|▊ | 297/3412 [00:24<03:48, 13.62timesteps/s]
9%|▉ | 299/3412 [00:24<03:47, 13.66timesteps/s]
9%|▉ | 301/3412 [00:24<03:47, 13.68timesteps/s]
9%|▉ | 303/3412 [00:24<03:46, 13.70timesteps/s]
9%|▉ | 305/3412 [00:24<03:46, 13.71timesteps/s]
9%|▉ | 307/3412 [00:24<03:46, 13.72timesteps/s]
9%|▉ | 309/3412 [00:24<03:46, 13.72timesteps/s]
9%|▉ | 311/3412 [00:25<03:46, 13.70timesteps/s]
9%|▉ | 313/3412 [00:25<03:46, 13.68timesteps/s]
9%|▉ | 315/3412 [00:25<03:46, 13.70timesteps/s]
9%|▉ | 317/3412 [00:25<03:45, 13.72timesteps/s]
9%|▉ | 319/3412 [00:25<03:45, 13.72timesteps/s]
9%|▉ | 321/3412 [00:25<03:45, 13.72timesteps/s]
9%|▉ | 323/3412 [00:26<03:45, 13.72timesteps/s]
10%|▉ | 325/3412 [00:26<03:44, 13.74timesteps/s]
10%|▉ | 327/3412 [00:26<03:44, 13.75timesteps/s]
10%|▉ | 329/3412 [00:26<03:44, 13.76timesteps/s]
10%|▉ | 331/3412 [00:26<03:43, 13.76timesteps/s]
10%|▉ | 333/3412 [00:26<03:43, 13.77timesteps/s]
10%|▉ | 335/3412 [00:26<03:43, 13.76timesteps/s]
10%|▉ | 337/3412 [00:27<03:43, 13.77timesteps/s]
10%|▉ | 339/3412 [00:27<03:43, 13.77timesteps/s]
10%|▉ | 341/3412 [00:27<03:42, 13.78timesteps/s]
10%|█ | 343/3412 [00:27<03:42, 13.78timesteps/s]
10%|█ | 345/3412 [00:27<03:42, 13.79timesteps/s]
10%|█ | 347/3412 [00:27<03:42, 13.77timesteps/s]
10%|█ | 349/3412 [00:27<03:42, 13.78timesteps/s]
10%|█ | 351/3412 [00:28<03:42, 13.77timesteps/s]
10%|█ | 353/3412 [00:28<03:42, 13.78timesteps/s]
10%|█ | 355/3412 [00:28<03:42, 13.77timesteps/s]
10%|█ | 357/3412 [00:28<03:41, 13.76timesteps/s]
11%|█ | 359/3412 [00:28<03:41, 13.77timesteps/s]
11%|█ | 361/3412 [00:28<03:41, 13.77timesteps/s]
11%|█ | 363/3412 [00:28<03:41, 13.77timesteps/s]
11%|█ | 365/3412 [00:29<03:41, 13.78timesteps/s]
11%|█ | 367/3412 [00:29<03:41, 13.77timesteps/s]
11%|█ | 369/3412 [00:29<03:40, 13.77timesteps/s]
11%|█ | 371/3412 [00:29<03:41, 13.76timesteps/s]
11%|█ | 373/3412 [00:29<03:40, 13.77timesteps/s]
11%|█ | 375/3412 [00:29<03:40, 13.76timesteps/s]
11%|█ | 377/3412 [00:29<03:40, 13.78timesteps/s]
11%|█ | 379/3412 [00:30<03:40, 13.78timesteps/s]
11%|█ | 381/3412 [00:30<03:40, 13.77timesteps/s]
11%|█ | 383/3412 [00:30<03:40, 13.77timesteps/s]
11%|█▏ | 385/3412 [00:30<03:39, 13.76timesteps/s]
11%|█▏ | 387/3412 [00:30<03:39, 13.77timesteps/s]
11%|█▏ | 389/3412 [00:30<03:39, 13.77timesteps/s]
11%|█▏ | 391/3412 [00:30<03:39, 13.77timesteps/s]
12%|█▏ | 393/3412 [00:31<03:39, 13.78timesteps/s]
12%|█▏ | 395/3412 [00:31<03:38, 13.78timesteps/s]
12%|█▏ | 397/3412 [00:31<03:38, 13.77timesteps/s]
12%|█▏ | 399/3412 [00:31<03:38, 13.77timesteps/s]
12%|█▏ | 401/3412 [00:31<03:38, 13.77timesteps/s]
12%|█▏ | 403/3412 [00:31<03:38, 13.78timesteps/s]
12%|█▏ | 405/3412 [00:31<03:38, 13.78timesteps/s]
12%|█▏ | 407/3412 [00:32<03:38, 13.77timesteps/s]
12%|█▏ | 409/3412 [00:32<03:37, 13.78timesteps/s]
12%|█▏ | 411/3412 [00:32<03:37, 13.78timesteps/s]
12%|█▏ | 413/3412 [00:32<03:37, 13.76timesteps/s]
12%|█▏ | 415/3412 [00:32<03:37, 13.78timesteps/s]
12%|█▏ | 417/3412 [00:32<03:37, 13.79timesteps/s]
12%|█▏ | 419/3412 [00:32<03:37, 13.79timesteps/s]
12%|█▏ | 421/3412 [00:33<03:36, 13.78timesteps/s]
12%|█▏ | 423/3412 [00:33<03:36, 13.78timesteps/s]
12%|█▏ | 425/3412 [00:33<03:36, 13.79timesteps/s]
13%|█▎ | 427/3412 [00:33<03:36, 13.78timesteps/s]
13%|█▎ | 429/3412 [00:33<03:36, 13.79timesteps/s]
13%|█▎ | 431/3412 [00:33<03:36, 13.79timesteps/s]
13%|█▎ | 433/3412 [00:33<03:35, 13.79timesteps/s]
13%|█▎ | 435/3412 [00:34<03:35, 13.79timesteps/s]
13%|█▎ | 437/3412 [00:34<03:35, 13.80timesteps/s]
13%|█▎ | 439/3412 [00:34<03:35, 13.80timesteps/s]
13%|█▎ | 441/3412 [00:34<03:35, 13.81timesteps/s]
13%|█▎ | 443/3412 [00:34<03:34, 13.81timesteps/s]
13%|█▎ | 445/3412 [00:34<03:34, 13.82timesteps/s]
13%|█▎ | 447/3412 [00:35<03:34, 13.80timesteps/s]
13%|█▎ | 449/3412 [00:35<03:34, 13.81timesteps/s]
13%|█▎ | 451/3412 [00:35<03:34, 13.80timesteps/s]
13%|█▎ | 453/3412 [00:35<03:34, 13.79timesteps/s]
13%|█▎ | 455/3412 [00:35<03:34, 13.79timesteps/s]
13%|█▎ | 457/3412 [00:35<03:34, 13.80timesteps/s]
13%|█▎ | 459/3412 [00:35<03:33, 13.80timesteps/s]
14%|█▎ | 461/3412 [00:36<03:33, 13.79timesteps/s]
14%|█▎ | 463/3412 [00:36<03:33, 13.80timesteps/s]
14%|█▎ | 465/3412 [00:36<03:33, 13.80timesteps/s]
14%|█▎ | 467/3412 [00:36<03:33, 13.79timesteps/s]
14%|█▎ | 469/3412 [00:36<03:33, 13.80timesteps/s]
14%|█▍ | 471/3412 [00:36<03:33, 13.80timesteps/s]
14%|█▍ | 473/3412 [00:36<03:33, 13.79timesteps/s]
14%|█▍ | 475/3412 [00:37<03:33, 13.79timesteps/s]
14%|█▍ | 477/3412 [00:37<03:32, 13.80timesteps/s]
14%|█▍ | 479/3412 [00:37<03:32, 13.79timesteps/s]
14%|█▍ | 481/3412 [00:37<03:32, 13.79timesteps/s]
14%|█▍ | 483/3412 [00:37<03:32, 13.79timesteps/s]
14%|█▍ | 485/3412 [00:37<03:32, 13.79timesteps/s]
14%|█▍ | 487/3412 [00:37<03:32, 13.78timesteps/s]
14%|█▍ | 489/3412 [00:38<03:32, 13.78timesteps/s]
14%|█▍ | 491/3412 [00:38<03:32, 13.78timesteps/s]
14%|█▍ | 493/3412 [00:38<03:31, 13.78timesteps/s]
15%|█▍ | 495/3412 [00:38<03:31, 13.77timesteps/s]
15%|█▍ | 497/3412 [00:38<03:31, 13.78timesteps/s]
15%|█▍ | 499/3412 [00:38<03:31, 13.78timesteps/s]
15%|█▍ | 501/3412 [00:38<03:31, 13.78timesteps/s]
15%|█▍ | 503/3412 [00:39<03:31, 13.78timesteps/s]
15%|█▍ | 505/3412 [00:39<03:30, 13.78timesteps/s]
15%|█▍ | 507/3412 [00:39<03:30, 13.79timesteps/s]
15%|█▍ | 509/3412 [00:39<03:30, 13.79timesteps/s]
15%|█▍ | 511/3412 [00:39<03:30, 13.78timesteps/s]
15%|█▌ | 513/3412 [00:39<03:30, 13.79timesteps/s]
15%|█▌ | 515/3412 [00:39<03:30, 13.78timesteps/s]
15%|█▌ | 517/3412 [00:40<03:29, 13.79timesteps/s]
15%|█▌ | 519/3412 [00:40<03:29, 13.79timesteps/s]
15%|█▌ | 521/3412 [00:40<03:29, 13.80timesteps/s]
15%|█▌ | 523/3412 [00:40<03:29, 13.79timesteps/s]
15%|█▌ | 525/3412 [00:40<03:29, 13.78timesteps/s]
15%|█▌ | 527/3412 [00:40<03:29, 13.79timesteps/s]
16%|█▌ | 529/3412 [00:40<03:29, 13.79timesteps/s]
16%|█▌ | 531/3412 [00:41<03:28, 13.79timesteps/s]
16%|█▌ | 533/3412 [00:41<03:28, 13.79timesteps/s]
16%|█▌ | 535/3412 [00:41<03:28, 13.79timesteps/s]
16%|█▌ | 537/3412 [00:41<03:28, 13.79timesteps/s]
16%|█▌ | 539/3412 [00:41<03:28, 13.79timesteps/s]
16%|█▌ | 541/3412 [00:41<03:28, 13.80timesteps/s]
16%|█▌ | 543/3412 [00:41<03:28, 13.79timesteps/s]
16%|█▌ | 545/3412 [00:42<03:27, 13.80timesteps/s]
16%|█▌ | 547/3412 [00:42<03:27, 13.79timesteps/s]
16%|█▌ | 549/3412 [00:42<03:27, 13.79timesteps/s]
16%|█▌ | 551/3412 [00:42<03:27, 13.78timesteps/s]
16%|█▌ | 553/3412 [00:42<03:27, 13.79timesteps/s]
16%|█▋ | 555/3412 [00:42<03:27, 13.78timesteps/s]
16%|█▋ | 557/3412 [00:42<03:27, 13.78timesteps/s]
16%|█▋ | 559/3412 [00:43<03:27, 13.78timesteps/s]
16%|█▋ | 561/3412 [00:43<03:26, 13.78timesteps/s]
17%|█▋ | 563/3412 [00:43<03:26, 13.78timesteps/s]
17%|█▋ | 565/3412 [00:43<03:26, 13.79timesteps/s]
17%|█▋ | 567/3412 [00:43<03:26, 13.80timesteps/s]
17%|█▋ | 569/3412 [00:43<03:26, 13.79timesteps/s]
17%|█▋ | 571/3412 [00:43<03:26, 13.79timesteps/s]
17%|█▋ | 573/3412 [00:44<03:25, 13.80timesteps/s]
17%|█▋ | 575/3412 [00:44<03:25, 13.80timesteps/s]
17%|█▋ | 577/3412 [00:44<03:26, 13.75timesteps/s]
17%|█▋ | 579/3412 [00:44<03:25, 13.77timesteps/s]
17%|█▋ | 581/3412 [00:44<03:25, 13.78timesteps/s]
17%|█▋ | 583/3412 [00:44<03:25, 13.77timesteps/s]
17%|█▋ | 585/3412 [00:45<03:25, 13.79timesteps/s]
17%|█▋ | 587/3412 [00:45<03:24, 13.80timesteps/s]
17%|█▋ | 589/3412 [00:45<03:24, 13.80timesteps/s]
17%|█▋ | 591/3412 [00:45<03:24, 13.80timesteps/s]
17%|█▋ | 593/3412 [00:45<03:24, 13.80timesteps/s]
17%|█▋ | 595/3412 [00:45<03:24, 13.80timesteps/s]
17%|█▋ | 597/3412 [00:45<03:23, 13.80timesteps/s]
18%|█▊ | 599/3412 [00:46<03:24, 13.79timesteps/s]
18%|█▊ | 601/3412 [00:46<03:23, 13.79timesteps/s]
18%|█▊ | 603/3412 [00:46<03:23, 13.78timesteps/s]
18%|█▊ | 605/3412 [00:46<03:23, 13.78timesteps/s]
18%|█▊ | 607/3412 [00:46<03:23, 13.78timesteps/s]
18%|█▊ | 609/3412 [00:46<03:23, 13.78timesteps/s]
18%|█▊ | 611/3412 [00:46<03:23, 13.77timesteps/s]
18%|█▊ | 613/3412 [00:47<03:27, 13.48timesteps/s]
18%|█▊ | 615/3412 [00:47<03:26, 13.54timesteps/s]
18%|█▊ | 617/3412 [00:47<03:25, 13.61timesteps/s]
18%|█▊ | 619/3412 [00:47<03:24, 13.65timesteps/s]
18%|█▊ | 621/3412 [00:47<03:23, 13.70timesteps/s]
18%|█▊ | 623/3412 [00:47<03:23, 13.72timesteps/s]
18%|█▊ | 625/3412 [00:47<03:22, 13.74timesteps/s]
18%|█▊ | 627/3412 [00:48<03:22, 13.75timesteps/s]
18%|█▊ | 629/3412 [00:48<03:22, 13.77timesteps/s]
18%|█▊ | 631/3412 [00:48<03:22, 13.76timesteps/s]
19%|█▊ | 633/3412 [00:48<03:24, 13.60timesteps/s]
19%|█▊ | 635/3412 [00:48<03:23, 13.64timesteps/s]
19%|█▊ | 637/3412 [00:48<03:22, 13.70timesteps/s]
19%|█▊ | 639/3412 [00:48<03:22, 13.72timesteps/s]
19%|█▉ | 641/3412 [00:49<03:21, 13.76timesteps/s]
19%|█▉ | 643/3412 [00:49<03:21, 13.77timesteps/s]
19%|█▉ | 645/3412 [00:49<03:20, 13.78timesteps/s]
19%|█▉ | 647/3412 [00:49<03:20, 13.78timesteps/s]
19%|█▉ | 649/3412 [00:49<03:20, 13.79timesteps/s]
19%|█▉ | 651/3412 [00:49<03:20, 13.80timesteps/s]
19%|█▉ | 653/3412 [00:49<03:20, 13.77timesteps/s]
19%|█▉ | 655/3412 [00:50<03:20, 13.75timesteps/s]
19%|█▉ | 657/3412 [00:50<03:20, 13.77timesteps/s]
19%|█▉ | 659/3412 [00:50<03:19, 13.78timesteps/s]
19%|█▉ | 661/3412 [00:50<03:19, 13.79timesteps/s]
19%|█▉ | 663/3412 [00:50<03:19, 13.79timesteps/s]
19%|█▉ | 665/3412 [00:50<03:19, 13.80timesteps/s]
20%|█▉ | 667/3412 [00:50<03:19, 13.79timesteps/s]
20%|█▉ | 669/3412 [00:51<03:18, 13.81timesteps/s]
20%|█▉ | 671/3412 [00:51<03:18, 13.81timesteps/s]
20%|█▉ | 673/3412 [00:51<03:18, 13.81timesteps/s]
20%|█▉ | 675/3412 [00:51<03:18, 13.81timesteps/s]
20%|█▉ | 677/3412 [00:51<03:20, 13.65timesteps/s]
20%|█▉ | 679/3412 [00:51<03:21, 13.53timesteps/s]
20%|█▉ | 681/3412 [00:52<03:20, 13.61timesteps/s]
20%|██ | 683/3412 [00:52<03:19, 13.66timesteps/s]
20%|██ | 685/3412 [00:52<03:19, 13.70timesteps/s]
20%|██ | 687/3412 [00:52<03:18, 13.72timesteps/s]
20%|██ | 689/3412 [00:52<03:18, 13.74timesteps/s]
20%|██ | 691/3412 [00:52<03:17, 13.75timesteps/s]
20%|██ | 693/3412 [00:52<03:17, 13.77timesteps/s]
20%|██ | 695/3412 [00:53<03:17, 13.78timesteps/s]
20%|██ | 697/3412 [00:53<03:16, 13.79timesteps/s]
20%|██ | 699/3412 [00:53<03:16, 13.79timesteps/s]
21%|██ | 701/3412 [00:53<03:16, 13.80timesteps/s]
21%|██ | 703/3412 [00:53<03:18, 13.66timesteps/s]
21%|██ | 705/3412 [00:53<03:17, 13.70timesteps/s]
21%|██ | 707/3412 [00:53<03:16, 13.73timesteps/s]
21%|██ | 709/3412 [00:54<03:16, 13.77timesteps/s]
21%|██ | 711/3412 [00:54<03:15, 13.79timesteps/s]
21%|██ | 713/3412 [00:54<03:15, 13.81timesteps/s]
21%|██ | 715/3412 [00:54<03:15, 13.80timesteps/s]
21%|██ | 717/3412 [00:54<03:15, 13.82timesteps/s]
21%|██ | 719/3412 [00:54<03:14, 13.82timesteps/s]
21%|██ | 721/3412 [00:54<03:14, 13.83timesteps/s]
21%|██ | 723/3412 [00:55<03:15, 13.74timesteps/s]
21%|██ | 725/3412 [00:55<03:15, 13.77timesteps/s]
21%|██▏ | 727/3412 [00:55<03:15, 13.75timesteps/s]
21%|██▏ | 729/3412 [00:55<03:15, 13.75timesteps/s]
21%|██▏ | 731/3412 [00:55<03:14, 13.76timesteps/s]
21%|██▏ | 733/3412 [00:55<03:14, 13.79timesteps/s]
22%|██▏ | 735/3412 [00:55<03:14, 13.80timesteps/s]
22%|██▏ | 737/3412 [00:56<03:13, 13.81timesteps/s]
22%|██▏ | 739/3412 [00:56<03:13, 13.82timesteps/s]
22%|██▏ | 741/3412 [00:56<03:13, 13.82timesteps/s]
22%|██▏ | 743/3412 [00:56<03:13, 13.82timesteps/s]
22%|██▏ | 745/3412 [00:56<03:12, 13.83timesteps/s]
22%|██▏ | 747/3412 [00:56<03:12, 13.83timesteps/s]
22%|██▏ | 749/3412 [00:56<03:12, 13.83timesteps/s]
22%|██▏ | 751/3412 [00:57<03:12, 13.82timesteps/s]
22%|██▏ | 753/3412 [00:57<03:12, 13.83timesteps/s]
22%|██▏ | 755/3412 [00:57<03:15, 13.62timesteps/s]
22%|██▏ | 757/3412 [00:57<03:15, 13.56timesteps/s]
22%|██▏ | 759/3412 [00:57<03:14, 13.63timesteps/s]
22%|██▏ | 761/3412 [00:57<03:13, 13.68timesteps/s]
22%|██▏ | 763/3412 [00:57<03:13, 13.71timesteps/s]
22%|██▏ | 765/3412 [00:58<03:12, 13.74timesteps/s]
22%|██▏ | 767/3412 [00:58<03:12, 13.76timesteps/s]
23%|██▎ | 769/3412 [00:58<03:11, 13.77timesteps/s]
23%|██▎ | 771/3412 [00:58<03:11, 13.77timesteps/s]
23%|██▎ | 773/3412 [00:58<03:11, 13.79timesteps/s]
23%|██▎ | 775/3412 [00:58<03:11, 13.80timesteps/s]
23%|██▎ | 777/3412 [00:58<03:10, 13.82timesteps/s]
23%|██▎ | 779/3412 [00:59<03:10, 13.81timesteps/s]
23%|██▎ | 781/3412 [00:59<03:10, 13.81timesteps/s]
23%|██▎ | 783/3412 [00:59<03:10, 13.80timesteps/s]
23%|██▎ | 785/3412 [00:59<03:12, 13.67timesteps/s]
23%|██▎ | 787/3412 [00:59<03:11, 13.70timesteps/s]
23%|██▎ | 789/3412 [00:59<03:10, 13.74timesteps/s]
23%|██▎ | 791/3412 [00:59<03:10, 13.77timesteps/s]
23%|██▎ | 793/3412 [01:00<03:09, 13.80timesteps/s]
23%|██▎ | 795/3412 [01:00<03:09, 13.81timesteps/s]
23%|██▎ | 797/3412 [01:00<03:09, 13.82timesteps/s]
23%|██▎ | 799/3412 [01:00<03:08, 13.83timesteps/s]
23%|██▎ | 801/3412 [01:00<03:08, 13.84timesteps/s]
24%|██▎ | 803/3412 [01:00<03:08, 13.84timesteps/s]
24%|██▎ | 805/3412 [01:01<03:08, 13.85timesteps/s]
24%|██▎ | 807/3412 [01:01<03:08, 13.85timesteps/s]
24%|██▎ | 809/3412 [01:01<03:07, 13.85timesteps/s]
24%|██▍ | 811/3412 [01:01<03:07, 13.84timesteps/s]
24%|██▍ | 813/3412 [01:01<03:08, 13.82timesteps/s]
24%|██▍ | 815/3412 [01:01<03:08, 13.79timesteps/s]
24%|██▍ | 817/3412 [01:01<03:08, 13.80timesteps/s]
24%|██▍ | 819/3412 [01:02<03:07, 13.81timesteps/s]
24%|██▍ | 821/3412 [01:02<03:07, 13.82timesteps/s]
24%|██▍ | 823/3412 [01:02<03:07, 13.82timesteps/s]
24%|██▍ | 825/3412 [01:02<03:07, 13.83timesteps/s]
24%|██▍ | 827/3412 [01:02<03:07, 13.82timesteps/s]
24%|██▍ | 829/3412 [01:02<03:06, 13.82timesteps/s]
24%|██▍ | 831/3412 [01:02<03:06, 13.82timesteps/s]
24%|██▍ | 833/3412 [01:03<03:06, 13.83timesteps/s]
24%|██▍ | 835/3412 [01:03<03:06, 13.81timesteps/s]
25%|██▍ | 837/3412 [01:03<03:06, 13.82timesteps/s]
25%|██▍ | 839/3412 [01:03<03:06, 13.82timesteps/s]
25%|██▍ | 841/3412 [01:03<03:05, 13.82timesteps/s]
25%|██▍ | 843/3412 [01:03<03:05, 13.83timesteps/s]
25%|██▍ | 845/3412 [01:03<03:05, 13.82timesteps/s]
25%|██▍ | 847/3412 [01:04<03:05, 13.82timesteps/s]
25%|██▍ | 849/3412 [01:04<03:09, 13.52timesteps/s]
25%|██▍ | 851/3412 [01:04<03:08, 13.57timesteps/s]
25%|██▌ | 853/3412 [01:04<03:07, 13.64timesteps/s]
25%|██▌ | 855/3412 [01:04<03:06, 13.69timesteps/s]
25%|██▌ | 857/3412 [01:04<03:06, 13.72timesteps/s]
25%|██▌ | 859/3412 [01:04<03:05, 13.73timesteps/s]
25%|██▌ | 861/3412 [01:05<03:05, 13.76timesteps/s]
25%|██▌ | 863/3412 [01:05<03:05, 13.77timesteps/s]
25%|██▌ | 865/3412 [01:05<03:04, 13.78timesteps/s]
25%|██▌ | 867/3412 [01:05<03:04, 13.78timesteps/s]
25%|██▌ | 869/3412 [01:05<03:04, 13.79timesteps/s]
26%|██▌ | 871/3412 [01:05<03:04, 13.78timesteps/s]
26%|██▌ | 873/3412 [01:05<03:04, 13.79timesteps/s]
26%|██▌ | 875/3412 [01:06<03:04, 13.78timesteps/s]
26%|██▌ | 877/3412 [01:06<03:03, 13.79timesteps/s]
26%|██▌ | 879/3412 [01:06<03:03, 13.79timesteps/s]
26%|██▌ | 881/3412 [01:06<03:03, 13.79timesteps/s]
26%|██▌ | 883/3412 [01:06<03:05, 13.65timesteps/s]
26%|██▌ | 885/3412 [01:06<03:04, 13.67timesteps/s]
26%|██▌ | 887/3412 [01:06<03:04, 13.71timesteps/s]
26%|██▌ | 889/3412 [01:07<03:03, 13.74timesteps/s]
26%|██▌ | 891/3412 [01:07<03:03, 13.76timesteps/s]
26%|██▌ | 893/3412 [01:07<03:02, 13.78timesteps/s]
26%|██▌ | 895/3412 [01:07<03:02, 13.78timesteps/s]
26%|██▋ | 897/3412 [01:07<03:02, 13.79timesteps/s]
26%|██▋ | 899/3412 [01:07<03:02, 13.79timesteps/s]
26%|██▋ | 901/3412 [01:07<03:01, 13.80timesteps/s]
26%|██▋ | 903/3412 [01:08<03:01, 13.80timesteps/s]
27%|██▋ | 905/3412 [01:08<03:01, 13.80timesteps/s]
27%|██▋ | 907/3412 [01:08<03:01, 13.80timesteps/s]
27%|██▋ | 909/3412 [01:08<03:01, 13.81timesteps/s]
27%|██▋ | 911/3412 [01:08<03:01, 13.80timesteps/s]
27%|██▋ | 913/3412 [01:08<03:01, 13.80timesteps/s]
27%|██▋ | 915/3412 [01:08<03:00, 13.80timesteps/s]
27%|██▋ | 917/3412 [01:09<03:00, 13.80timesteps/s]
27%|██▋ | 919/3412 [01:09<03:01, 13.76timesteps/s]
27%|██▋ | 921/3412 [01:09<03:01, 13.74timesteps/s]
27%|██▋ | 923/3412 [01:09<03:00, 13.76timesteps/s]
27%|██▋ | 925/3412 [01:09<03:00, 13.78timesteps/s]
27%|██▋ | 927/3412 [01:09<03:00, 13.77timesteps/s]
27%|██▋ | 929/3412 [01:10<03:00, 13.78timesteps/s]
27%|██▋ | 931/3412 [01:10<03:00, 13.78timesteps/s]
27%|██▋ | 933/3412 [01:10<04:50, 8.52timesteps/s]
27%|██▋ | 935/3412 [01:10<04:17, 9.63timesteps/s]
27%|██▋ | 937/3412 [01:10<03:53, 10.61timesteps/s]
28%|██▊ | 939/3412 [01:11<03:36, 11.40timesteps/s]
28%|██▊ | 941/3412 [01:11<03:25, 12.03timesteps/s]
28%|██▊ | 943/3412 [01:11<03:17, 12.51timesteps/s]
28%|██▊ | 945/3412 [01:11<03:11, 12.89timesteps/s]
28%|██▊ | 947/3412 [01:11<03:07, 13.15timesteps/s]
28%|██▊ | 949/3412 [01:11<03:04, 13.33timesteps/s]
28%|██▊ | 951/3412 [01:11<03:02, 13.47timesteps/s]
28%|██▊ | 953/3412 [01:12<03:01, 13.58timesteps/s]
28%|██▊ | 955/3412 [01:12<03:00, 13.65timesteps/s]
28%|██▊ | 957/3412 [01:12<03:04, 13.31timesteps/s]
28%|██▊ | 959/3412 [01:12<03:02, 13.42timesteps/s]
28%|██▊ | 961/3412 [01:12<03:01, 13.51timesteps/s]
28%|██▊ | 963/3412 [01:12<03:00, 13.59timesteps/s]
28%|██▊ | 965/3412 [01:12<02:59, 13.64timesteps/s]
28%|██▊ | 967/3412 [01:13<02:58, 13.67timesteps/s]
28%|██▊ | 969/3412 [01:13<02:58, 13.70timesteps/s]
28%|██▊ | 971/3412 [01:13<02:58, 13.71timesteps/s]
29%|██▊ | 973/3412 [01:13<02:57, 13.72timesteps/s]
29%|██▊ | 975/3412 [01:13<02:57, 13.71timesteps/s]
29%|██▊ | 977/3412 [01:13<02:57, 13.73timesteps/s]
29%|██▊ | 979/3412 [01:13<02:56, 13.76timesteps/s]
29%|██▉ | 981/3412 [01:14<02:56, 13.77timesteps/s]
29%|██▉ | 983/3412 [01:14<02:56, 13.79timesteps/s]
29%|██▉ | 985/3412 [01:14<02:56, 13.79timesteps/s]
29%|██▉ | 987/3412 [01:14<02:55, 13.78timesteps/s]
29%|██▉ | 989/3412 [01:14<02:55, 13.80timesteps/s]
29%|██▉ | 991/3412 [01:14<02:55, 13.81timesteps/s]
29%|██▉ | 993/3412 [01:14<02:55, 13.80timesteps/s]
29%|██▉ | 995/3412 [01:15<02:55, 13.80timesteps/s]
29%|██▉ | 997/3412 [01:15<02:54, 13.80timesteps/s]
29%|██▉ | 999/3412 [01:15<02:57, 13.59timesteps/s]
29%|██▉ | 1001/3412 [01:15<02:56, 13.65timesteps/s]
29%|██▉ | 1003/3412 [01:15<02:55, 13.69timesteps/s]
29%|██▉ | 1005/3412 [01:15<02:55, 13.72timesteps/s]
30%|██▉ | 1007/3412 [01:15<02:55, 13.73timesteps/s]
30%|██▉ | 1009/3412 [01:16<02:54, 13.75timesteps/s]
30%|██▉ | 1011/3412 [01:16<02:54, 13.76timesteps/s]
30%|██▉ | 1013/3412 [01:16<02:54, 13.77timesteps/s]
30%|██▉ | 1015/3412 [01:16<02:53, 13.78timesteps/s]
30%|██▉ | 1017/3412 [01:16<02:53, 13.80timesteps/s]
30%|██▉ | 1019/3412 [01:16<02:53, 13.80timesteps/s]
30%|██▉ | 1021/3412 [01:16<02:53, 13.80timesteps/s]
30%|██▉ | 1023/3412 [01:17<02:53, 13.81timesteps/s]
30%|███ | 1025/3412 [01:17<02:52, 13.81timesteps/s]
30%|███ | 1027/3412 [01:17<02:52, 13.81timesteps/s]
30%|███ | 1029/3412 [01:17<02:52, 13.82timesteps/s]
30%|███ | 1031/3412 [01:17<02:52, 13.82timesteps/s]
30%|███ | 1033/3412 [01:17<02:52, 13.80timesteps/s]
30%|███ | 1035/3412 [01:18<02:52, 13.81timesteps/s]
30%|███ | 1037/3412 [01:18<02:51, 13.81timesteps/s]
30%|███ | 1039/3412 [01:18<02:51, 13.80timesteps/s]
31%|███ | 1041/3412 [01:18<02:52, 13.76timesteps/s]
31%|███ | 1043/3412 [01:18<02:52, 13.76timesteps/s]
31%|███ | 1045/3412 [01:18<02:51, 13.78timesteps/s]
31%|███ | 1047/3412 [01:18<02:51, 13.78timesteps/s]
31%|███ | 1049/3412 [01:19<02:51, 13.80timesteps/s]
31%|███ | 1051/3412 [01:19<02:50, 13.81timesteps/s]
31%|███ | 1053/3412 [01:19<02:50, 13.81timesteps/s]
31%|███ | 1055/3412 [01:19<02:50, 13.80timesteps/s]
31%|███ | 1057/3412 [01:19<02:50, 13.80timesteps/s]
31%|███ | 1059/3412 [01:19<02:50, 13.80timesteps/s]
31%|███ | 1061/3412 [01:19<02:50, 13.81timesteps/s]
31%|███ | 1063/3412 [01:20<02:50, 13.80timesteps/s]
31%|███ | 1065/3412 [01:20<02:49, 13.81timesteps/s]
31%|███▏ | 1067/3412 [01:20<02:49, 13.80timesteps/s]
31%|███▏ | 1069/3412 [01:20<02:49, 13.80timesteps/s]
31%|███▏ | 1071/3412 [01:20<02:49, 13.80timesteps/s]
31%|███▏ | 1073/3412 [01:20<02:49, 13.79timesteps/s]
32%|███▏ | 1075/3412 [01:20<02:49, 13.79timesteps/s]
32%|███▏ | 1077/3412 [01:21<02:49, 13.81timesteps/s]
32%|███▏ | 1079/3412 [01:21<02:48, 13.81timesteps/s]
32%|███▏ | 1081/3412 [01:21<02:48, 13.81timesteps/s]
32%|███▏ | 1083/3412 [01:21<02:48, 13.81timesteps/s]
32%|███▏ | 1085/3412 [01:21<02:48, 13.82timesteps/s]
32%|███▏ | 1087/3412 [01:21<02:48, 13.82timesteps/s]
32%|███▏ | 1089/3412 [01:21<02:47, 13.83timesteps/s]
32%|███▏ | 1091/3412 [01:22<02:51, 13.53timesteps/s]
32%|███▏ | 1093/3412 [01:22<02:50, 13.59timesteps/s]
32%|███▏ | 1095/3412 [01:22<02:49, 13.64timesteps/s]
32%|███▏ | 1097/3412 [01:22<02:49, 13.69timesteps/s]
32%|███▏ | 1099/3412 [01:22<02:48, 13.73timesteps/s]
32%|███▏ | 1101/3412 [01:22<02:48, 13.75timesteps/s]
32%|███▏ | 1103/3412 [01:22<02:47, 13.76timesteps/s]
32%|███▏ | 1105/3412 [01:23<02:47, 13.77timesteps/s]
32%|███▏ | 1107/3412 [01:23<02:47, 13.78timesteps/s]
33%|███▎ | 1109/3412 [01:23<02:47, 13.77timesteps/s]
33%|███▎ | 1111/3412 [01:23<02:47, 13.78timesteps/s]
33%|███▎ | 1113/3412 [01:23<02:46, 13.79timesteps/s]
33%|███▎ | 1115/3412 [01:23<02:46, 13.79timesteps/s]
33%|███▎ | 1117/3412 [01:23<02:46, 13.80timesteps/s]
33%|███▎ | 1119/3412 [01:24<02:45, 13.82timesteps/s]
33%|███▎ | 1121/3412 [01:24<02:45, 13.83timesteps/s]
33%|███▎ | 1123/3412 [01:24<02:45, 13.81timesteps/s]
33%|███▎ | 1125/3412 [01:24<02:45, 13.82timesteps/s]
33%|███▎ | 1127/3412 [01:24<02:45, 13.83timesteps/s]
33%|███▎ | 1129/3412 [01:24<02:45, 13.83timesteps/s]
33%|███▎ | 1131/3412 [01:24<02:45, 13.82timesteps/s]
33%|███▎ | 1133/3412 [01:25<02:44, 13.83timesteps/s]
33%|███▎ | 1135/3412 [01:25<02:44, 13.83timesteps/s]
33%|███▎ | 1137/3412 [01:25<02:44, 13.82timesteps/s]
33%|███▎ | 1139/3412 [01:25<02:44, 13.82timesteps/s]
33%|███▎ | 1141/3412 [01:25<02:45, 13.69timesteps/s]
33%|███▎ | 1143/3412 [01:25<02:45, 13.71timesteps/s]
34%|███▎ | 1145/3412 [01:25<02:44, 13.74timesteps/s]
34%|███▎ | 1147/3412 [01:26<02:44, 13.76timesteps/s]
34%|███▎ | 1149/3412 [01:26<02:44, 13.78timesteps/s]
34%|███▎ | 1151/3412 [01:26<02:44, 13.78timesteps/s]
34%|███▍ | 1153/3412 [01:26<02:43, 13.79timesteps/s]
34%|███▍ | 1155/3412 [01:26<02:43, 13.80timesteps/s]
34%|███▍ | 1157/3412 [01:26<02:43, 13.80timesteps/s]
34%|███▍ | 1159/3412 [01:27<02:43, 13.80timesteps/s]
34%|███▍ | 1161/3412 [01:27<02:42, 13.82timesteps/s]
34%|███▍ | 1163/3412 [01:27<02:42, 13.80timesteps/s]
34%|███▍ | 1165/3412 [01:27<02:42, 13.81timesteps/s]
34%|███▍ | 1167/3412 [01:27<02:42, 13.81timesteps/s]
34%|███▍ | 1169/3412 [01:27<02:42, 13.82timesteps/s]
34%|███▍ | 1171/3412 [01:27<02:42, 13.81timesteps/s]
34%|███▍ | 1173/3412 [01:28<02:42, 13.80timesteps/s]
34%|███▍ | 1175/3412 [01:28<02:42, 13.81timesteps/s]
34%|███▍ | 1177/3412 [01:28<02:41, 13.80timesteps/s]
35%|███▍ | 1179/3412 [01:28<02:41, 13.81timesteps/s]
35%|███▍ | 1181/3412 [01:28<02:41, 13.81timesteps/s]
35%|███▍ | 1183/3412 [01:28<02:41, 13.81timesteps/s]
35%|███▍ | 1185/3412 [01:28<02:41, 13.81timesteps/s]
35%|███▍ | 1187/3412 [01:29<02:41, 13.81timesteps/s]
35%|███▍ | 1189/3412 [01:29<02:40, 13.82timesteps/s]
35%|███▍ | 1191/3412 [01:29<02:41, 13.78timesteps/s]
35%|███▍ | 1193/3412 [01:29<02:41, 13.76timesteps/s]
35%|███▌ | 1195/3412 [01:29<02:41, 13.77timesteps/s]
35%|███▌ | 1197/3412 [01:29<02:40, 13.77timesteps/s]
35%|███▌ | 1199/3412 [01:29<02:40, 13.78timesteps/s]
35%|███▌ | 1201/3412 [01:30<02:40, 13.81timesteps/s]
35%|███▌ | 1203/3412 [01:30<02:39, 13.81timesteps/s]
35%|███▌ | 1205/3412 [01:30<02:39, 13.80timesteps/s]
35%|███▌ | 1207/3412 [01:30<02:39, 13.80timesteps/s]
35%|███▌ | 1209/3412 [01:30<02:39, 13.81timesteps/s]
35%|███▌ | 1211/3412 [01:30<02:39, 13.80timesteps/s]
36%|███▌ | 1213/3412 [01:30<02:39, 13.82timesteps/s]
36%|███▌ | 1215/3412 [01:31<02:38, 13.82timesteps/s]
36%|███▌ | 1217/3412 [01:31<02:38, 13.82timesteps/s]
36%|███▌ | 1219/3412 [01:31<02:38, 13.81timesteps/s]
36%|███▌ | 1221/3412 [01:31<02:38, 13.82timesteps/s]
36%|███▌ | 1223/3412 [01:31<02:38, 13.82timesteps/s]
36%|███▌ | 1225/3412 [01:31<02:38, 13.82timesteps/s]
36%|███▌ | 1227/3412 [01:31<02:38, 13.81timesteps/s]
36%|███▌ | 1229/3412 [01:32<02:37, 13.83timesteps/s]
36%|███▌ | 1231/3412 [01:32<02:37, 13.83timesteps/s]
36%|███▌ | 1233/3412 [01:32<02:37, 13.83timesteps/s]
36%|███▌ | 1235/3412 [01:32<02:37, 13.83timesteps/s]
36%|███▋ | 1237/3412 [01:32<02:37, 13.83timesteps/s]
36%|███▋ | 1239/3412 [01:32<02:37, 13.81timesteps/s]
36%|███▋ | 1241/3412 [01:32<02:37, 13.82timesteps/s]
36%|███▋ | 1243/3412 [01:33<02:37, 13.81timesteps/s]
36%|███▋ | 1245/3412 [01:33<02:36, 13.83timesteps/s]
37%|███▋ | 1247/3412 [01:33<02:36, 13.82timesteps/s]
37%|███▋ | 1249/3412 [01:33<02:36, 13.82timesteps/s]
37%|███▋ | 1251/3412 [01:33<02:36, 13.82timesteps/s]
37%|███▋ | 1253/3412 [01:33<02:39, 13.50timesteps/s]
37%|███▋ | 1255/3412 [01:33<02:38, 13.57timesteps/s]
37%|███▋ | 1257/3412 [01:34<02:37, 13.64timesteps/s]
37%|███▋ | 1259/3412 [01:34<02:37, 13.67timesteps/s]
37%|███▋ | 1261/3412 [01:34<02:36, 13.71timesteps/s]
37%|███▋ | 1263/3412 [01:34<02:36, 13.73timesteps/s]
37%|███▋ | 1265/3412 [01:34<02:36, 13.76timesteps/s]
37%|███▋ | 1267/3412 [01:34<02:35, 13.76timesteps/s]
37%|███▋ | 1269/3412 [01:34<02:35, 13.78timesteps/s]
37%|███▋ | 1271/3412 [01:35<02:35, 13.78timesteps/s]
37%|███▋ | 1273/3412 [01:35<02:35, 13.79timesteps/s]
37%|███▋ | 1275/3412 [01:35<02:34, 13.80timesteps/s]
37%|███▋ | 1277/3412 [01:35<02:34, 13.81timesteps/s]
37%|███▋ | 1279/3412 [01:35<02:34, 13.81timesteps/s]
38%|███▊ | 1281/3412 [01:35<02:34, 13.82timesteps/s]
38%|███▊ | 1283/3412 [01:35<02:34, 13.82timesteps/s]
38%|███▊ | 1285/3412 [01:36<02:33, 13.82timesteps/s]
38%|███▊ | 1287/3412 [01:36<02:34, 13.80timesteps/s]
38%|███▊ | 1289/3412 [01:36<02:33, 13.81timesteps/s]
38%|███▊ | 1291/3412 [01:36<02:33, 13.81timesteps/s]
38%|███▊ | 1293/3412 [01:36<02:33, 13.82timesteps/s]
38%|███▊ | 1295/3412 [01:36<02:33, 13.81timesteps/s]
38%|███▊ | 1297/3412 [01:37<02:33, 13.82timesteps/s]
38%|███▊ | 1299/3412 [01:37<02:32, 13.82timesteps/s]
38%|███▊ | 1301/3412 [01:37<02:32, 13.82timesteps/s]
38%|███▊ | 1303/3412 [01:37<02:32, 13.81timesteps/s]
38%|███▊ | 1305/3412 [01:37<02:32, 13.82timesteps/s]
38%|███▊ | 1307/3412 [01:37<02:32, 13.81timesteps/s]
38%|███▊ | 1309/3412 [01:37<02:32, 13.80timesteps/s]
38%|███▊ | 1311/3412 [01:38<02:32, 13.80timesteps/s]
38%|███▊ | 1313/3412 [01:38<02:33, 13.67timesteps/s]
39%|███▊ | 1315/3412 [01:38<02:33, 13.69timesteps/s]
39%|███▊ | 1317/3412 [01:38<02:32, 13.73timesteps/s]
39%|███▊ | 1319/3412 [01:38<02:32, 13.75timesteps/s]
39%|███▊ | 1321/3412 [01:38<02:32, 13.75timesteps/s]
39%|███▉ | 1323/3412 [01:38<02:31, 13.77timesteps/s]
39%|███▉ | 1325/3412 [01:39<02:31, 13.79timesteps/s]
39%|███▉ | 1327/3412 [01:39<02:31, 13.78timesteps/s]
39%|███▉ | 1329/3412 [01:39<02:31, 13.78timesteps/s]
39%|███▉ | 1331/3412 [01:39<02:30, 13.78timesteps/s]
39%|███▉ | 1333/3412 [01:39<02:30, 13.79timesteps/s]
39%|███▉ | 1335/3412 [01:39<02:30, 13.78timesteps/s]
39%|███▉ | 1337/3412 [01:39<02:30, 13.79timesteps/s]
39%|███▉ | 1339/3412 [01:40<02:30, 13.79timesteps/s]
39%|███▉ | 1341/3412 [01:40<02:30, 13.80timesteps/s]
39%|███▉ | 1343/3412 [01:40<02:30, 13.79timesteps/s]
39%|███▉ | 1345/3412 [01:40<02:29, 13.80timesteps/s]
39%|███▉ | 1347/3412 [01:40<02:29, 13.79timesteps/s]
40%|███▉ | 1349/3412 [01:40<02:29, 13.80timesteps/s]
40%|███▉ | 1351/3412 [01:40<02:29, 13.79timesteps/s]
40%|███▉ | 1353/3412 [01:41<02:29, 13.80timesteps/s]
40%|███▉ | 1355/3412 [01:41<02:29, 13.79timesteps/s]
40%|███▉ | 1357/3412 [01:41<02:28, 13.80timesteps/s]
40%|███▉ | 1359/3412 [01:41<02:28, 13.80timesteps/s]
40%|███▉ | 1361/3412 [01:41<02:28, 13.79timesteps/s]
40%|███▉ | 1363/3412 [01:41<02:28, 13.78timesteps/s]
40%|████ | 1365/3412 [01:41<02:28, 13.80timesteps/s]
40%|████ | 1367/3412 [01:42<02:28, 13.79timesteps/s]
40%|████ | 1369/3412 [01:42<02:28, 13.79timesteps/s]
40%|████ | 1371/3412 [01:42<02:28, 13.79timesteps/s]
40%|████ | 1373/3412 [01:42<02:28, 13.76timesteps/s]
40%|████ | 1375/3412 [01:42<02:28, 13.73timesteps/s]
40%|████ | 1377/3412 [01:42<02:28, 13.75timesteps/s]
40%|████ | 1379/3412 [01:42<02:27, 13.76timesteps/s]
40%|████ | 1381/3412 [01:43<02:27, 13.76timesteps/s]
41%|████ | 1383/3412 [01:43<02:27, 13.75timesteps/s]
41%|████ | 1385/3412 [01:43<02:27, 13.76timesteps/s]
41%|████ | 1387/3412 [01:43<02:27, 13.76timesteps/s]
41%|████ | 1389/3412 [01:43<02:26, 13.77timesteps/s]
41%|████ | 1391/3412 [01:43<02:26, 13.76timesteps/s]
41%|████ | 1393/3412 [01:43<02:26, 13.77timesteps/s]
41%|████ | 1395/3412 [01:44<02:26, 13.78timesteps/s]
41%|████ | 1397/3412 [01:44<02:26, 13.78timesteps/s]
41%|████ | 1399/3412 [01:44<02:26, 13.78timesteps/s]
41%|████ | 1401/3412 [01:44<02:25, 13.79timesteps/s]
41%|████ | 1403/3412 [01:44<02:25, 13.77timesteps/s]
41%|████ | 1405/3412 [01:44<02:25, 13.78timesteps/s]
41%|████ | 1407/3412 [01:44<02:25, 13.77timesteps/s]
41%|████▏ | 1409/3412 [01:45<02:25, 13.79timesteps/s]
41%|████▏ | 1411/3412 [01:45<02:25, 13.76timesteps/s]
41%|████▏ | 1413/3412 [01:45<02:25, 13.77timesteps/s]
41%|████▏ | 1415/3412 [01:45<02:24, 13.77timesteps/s]
42%|████▏ | 1417/3412 [01:45<02:24, 13.77timesteps/s]
42%|████▏ | 1419/3412 [01:45<02:24, 13.77timesteps/s]
42%|████▏ | 1421/3412 [01:46<02:24, 13.78timesteps/s]
42%|████▏ | 1423/3412 [01:46<02:24, 13.77timesteps/s]
42%|████▏ | 1425/3412 [01:46<02:24, 13.77timesteps/s]
42%|████▏ | 1427/3412 [01:46<02:24, 13.76timesteps/s]
42%|████▏ | 1429/3412 [01:46<02:24, 13.76timesteps/s]
42%|████▏ | 1431/3412 [01:46<02:24, 13.75timesteps/s]
42%|████▏ | 1433/3412 [01:46<02:23, 13.77timesteps/s]
42%|████▏ | 1435/3412 [01:47<02:23, 13.77timesteps/s]
42%|████▏ | 1437/3412 [01:47<02:23, 13.77timesteps/s]
42%|████▏ | 1439/3412 [01:47<02:23, 13.74timesteps/s]
42%|████▏ | 1441/3412 [01:47<02:23, 13.75timesteps/s]
42%|████▏ | 1443/3412 [01:47<02:23, 13.74timesteps/s]
42%|████▏ | 1445/3412 [01:47<02:25, 13.55timesteps/s]
42%|████▏ | 1447/3412 [01:47<02:25, 13.48timesteps/s]
42%|████▏ | 1449/3412 [01:48<02:24, 13.56timesteps/s]
43%|████▎ | 1451/3412 [01:48<02:24, 13.60timesteps/s]
43%|████▎ | 1453/3412 [01:48<02:23, 13.64timesteps/s]
43%|████▎ | 1455/3412 [01:48<02:23, 13.67timesteps/s]
43%|████▎ | 1457/3412 [01:48<02:22, 13.70timesteps/s]
43%|████▎ | 1459/3412 [01:48<02:22, 13.71timesteps/s]
43%|████▎ | 1461/3412 [01:48<02:22, 13.72timesteps/s]
43%|████▎ | 1463/3412 [01:49<02:22, 13.72timesteps/s]
43%|████▎ | 1465/3412 [01:49<02:21, 13.73timesteps/s]
43%|████▎ | 1467/3412 [01:49<02:21, 13.73timesteps/s]
43%|████▎ | 1469/3412 [01:49<02:21, 13.75timesteps/s]
43%|████▎ | 1471/3412 [01:49<02:21, 13.74timesteps/s]
43%|████▎ | 1473/3412 [01:49<02:21, 13.74timesteps/s]
43%|████▎ | 1475/3412 [01:49<02:20, 13.75timesteps/s]
43%|████▎ | 1477/3412 [01:50<02:20, 13.76timesteps/s]
43%|████▎ | 1479/3412 [01:50<02:20, 13.75timesteps/s]
43%|████▎ | 1481/3412 [01:50<02:20, 13.76timesteps/s]
43%|████▎ | 1483/3412 [01:50<02:20, 13.76timesteps/s]
44%|████▎ | 1485/3412 [01:50<02:19, 13.77timesteps/s]
44%|████▎ | 1487/3412 [01:50<02:19, 13.76timesteps/s]
44%|████▎ | 1489/3412 [01:50<02:19, 13.78timesteps/s]
44%|████▎ | 1491/3412 [01:51<02:19, 13.78timesteps/s]
44%|████▍ | 1493/3412 [01:51<02:19, 13.78timesteps/s]
44%|████▍ | 1495/3412 [01:51<02:19, 13.78timesteps/s]
44%|████▍ | 1497/3412 [01:51<02:18, 13.78timesteps/s]
44%|████▍ | 1499/3412 [01:51<02:18, 13.78timesteps/s]
44%|████▍ | 1501/3412 [01:51<02:18, 13.79timesteps/s]
44%|████▍ | 1503/3412 [01:51<02:18, 13.78timesteps/s]
44%|████▍ | 1505/3412 [01:52<02:18, 13.80timesteps/s]
44%|████▍ | 1507/3412 [01:52<02:18, 13.77timesteps/s]
44%|████▍ | 1509/3412 [01:52<02:18, 13.78timesteps/s]
44%|████▍ | 1511/3412 [01:52<02:18, 13.77timesteps/s]
44%|████▍ | 1513/3412 [01:52<02:17, 13.77timesteps/s]
44%|████▍ | 1515/3412 [01:52<02:17, 13.77timesteps/s]
44%|████▍ | 1517/3412 [01:52<02:17, 13.78timesteps/s]
45%|████▍ | 1519/3412 [01:53<02:18, 13.63timesteps/s]
45%|████▍ | 1521/3412 [01:53<02:18, 13.67timesteps/s]
45%|████▍ | 1523/3412 [01:53<02:17, 13.70timesteps/s]
45%|████▍ | 1525/3412 [01:53<02:17, 13.74timesteps/s]
45%|████▍ | 1527/3412 [01:53<02:17, 13.75timesteps/s]
45%|████▍ | 1529/3412 [01:53<02:16, 13.77timesteps/s]
45%|████▍ | 1531/3412 [01:54<02:16, 13.78timesteps/s]
45%|████▍ | 1533/3412 [01:54<02:16, 13.79timesteps/s]
45%|████▍ | 1535/3412 [01:54<02:16, 13.79timesteps/s]
45%|████▌ | 1537/3412 [01:54<02:15, 13.80timesteps/s]
45%|████▌ | 1539/3412 [01:54<02:15, 13.81timesteps/s]
45%|████▌ | 1541/3412 [01:54<02:15, 13.82timesteps/s]
45%|████▌ | 1543/3412 [01:54<02:15, 13.81timesteps/s]
45%|████▌ | 1545/3412 [01:55<02:15, 13.80timesteps/s]
45%|████▌ | 1547/3412 [01:55<02:15, 13.79timesteps/s]
45%|████▌ | 1549/3412 [01:55<02:15, 13.79timesteps/s]
45%|████▌ | 1551/3412 [01:55<02:14, 13.79timesteps/s]
46%|████▌ | 1553/3412 [01:55<02:14, 13.80timesteps/s]
46%|████▌ | 1555/3412 [01:55<02:14, 13.80timesteps/s]
46%|████▌ | 1557/3412 [01:55<02:14, 13.81timesteps/s]
46%|████▌ | 1559/3412 [01:56<02:14, 13.81timesteps/s]
46%|████▌ | 1561/3412 [01:56<02:14, 13.81timesteps/s]
46%|████▌ | 1563/3412 [01:56<02:13, 13.80timesteps/s]
46%|████▌ | 1565/3412 [01:56<02:13, 13.81timesteps/s]
46%|████▌ | 1567/3412 [01:56<02:13, 13.81timesteps/s]
46%|████▌ | 1569/3412 [01:56<02:13, 13.81timesteps/s]
46%|████▌ | 1571/3412 [01:56<02:13, 13.81timesteps/s]
46%|████▌ | 1573/3412 [01:57<02:13, 13.81timesteps/s]
46%|████▌ | 1575/3412 [01:57<02:13, 13.80timesteps/s]
46%|████▌ | 1577/3412 [01:57<02:12, 13.81timesteps/s]
46%|████▋ | 1579/3412 [01:57<02:12, 13.81timesteps/s]
46%|████▋ | 1581/3412 [01:57<02:12, 13.82timesteps/s]
46%|████▋ | 1583/3412 [01:57<02:12, 13.81timesteps/s]
46%|████▋ | 1585/3412 [01:57<02:12, 13.82timesteps/s]
47%|████▋ | 1587/3412 [01:58<02:12, 13.81timesteps/s]
47%|████▋ | 1589/3412 [01:58<02:12, 13.80timesteps/s]
47%|████▋ | 1591/3412 [01:58<02:12, 13.77timesteps/s]
47%|████▋ | 1593/3412 [01:58<02:12, 13.77timesteps/s]
47%|████▋ | 1595/3412 [01:58<02:11, 13.77timesteps/s]
47%|████▋ | 1597/3412 [01:58<02:11, 13.79timesteps/s]
47%|████▋ | 1599/3412 [01:58<02:11, 13.79timesteps/s]
47%|████▋ | 1601/3412 [01:59<02:11, 13.80timesteps/s]
47%|████▋ | 1603/3412 [01:59<02:11, 13.80timesteps/s]
47%|████▋ | 1605/3412 [01:59<02:10, 13.80timesteps/s]
47%|████▋ | 1607/3412 [01:59<02:10, 13.80timesteps/s]
47%|████▋ | 1609/3412 [01:59<02:10, 13.80timesteps/s]
47%|████▋ | 1611/3412 [01:59<02:10, 13.80timesteps/s]
47%|████▋ | 1613/3412 [01:59<02:10, 13.80timesteps/s]
47%|████▋ | 1615/3412 [02:00<02:10, 13.80timesteps/s]
47%|████▋ | 1617/3412 [02:00<02:09, 13.81timesteps/s]
47%|████▋ | 1619/3412 [02:00<02:09, 13.82timesteps/s]
48%|████▊ | 1621/3412 [02:00<02:09, 13.82timesteps/s]
48%|████▊ | 1623/3412 [02:00<02:09, 13.81timesteps/s]
48%|████▊ | 1625/3412 [02:00<02:09, 13.81timesteps/s]
48%|████▊ | 1627/3412 [02:00<02:09, 13.81timesteps/s]
48%|████▊ | 1629/3412 [02:01<02:09, 13.81timesteps/s]
48%|████▊ | 1631/3412 [02:01<02:09, 13.80timesteps/s]
48%|████▊ | 1633/3412 [02:01<02:08, 13.80timesteps/s]
48%|████▊ | 1635/3412 [02:01<02:08, 13.80timesteps/s]
48%|████▊ | 1637/3412 [02:01<02:08, 13.81timesteps/s]
48%|████▊ | 1639/3412 [02:01<02:08, 13.81timesteps/s]
48%|████▊ | 1641/3412 [02:01<02:08, 13.82timesteps/s]
48%|████▊ | 1643/3412 [02:02<02:08, 13.81timesteps/s]
48%|████▊ | 1645/3412 [02:02<02:07, 13.82timesteps/s]
48%|████▊ | 1647/3412 [02:02<02:07, 13.81timesteps/s]
48%|████▊ | 1649/3412 [02:02<02:07, 13.81timesteps/s]
48%|████▊ | 1651/3412 [02:02<02:07, 13.80timesteps/s]
48%|████▊ | 1653/3412 [02:02<02:07, 13.79timesteps/s]
49%|████▊ | 1655/3412 [02:03<02:07, 13.80timesteps/s]
49%|████▊ | 1657/3412 [02:03<02:07, 13.79timesteps/s]
49%|████▊ | 1659/3412 [02:03<02:07, 13.79timesteps/s]
49%|████▊ | 1661/3412 [02:03<02:06, 13.80timesteps/s]
49%|████▊ | 1663/3412 [02:03<02:06, 13.80timesteps/s]
49%|████▉ | 1665/3412 [02:03<02:06, 13.80timesteps/s]
49%|████▉ | 1667/3412 [02:03<02:06, 13.81timesteps/s]
49%|████▉ | 1669/3412 [02:04<02:06, 13.81timesteps/s]
49%|████▉ | 1671/3412 [02:04<02:06, 13.79timesteps/s]
49%|████▉ | 1673/3412 [02:04<02:05, 13.80timesteps/s]
49%|████▉ | 1675/3412 [02:04<02:05, 13.79timesteps/s]
49%|████▉ | 1677/3412 [02:04<02:07, 13.63timesteps/s]
49%|████▉ | 1679/3412 [02:04<02:08, 13.52timesteps/s]
49%|████▉ | 1681/3412 [02:04<02:07, 13.60timesteps/s]
49%|████▉ | 1683/3412 [02:05<02:06, 13.65timesteps/s]
49%|████▉ | 1685/3412 [02:05<02:06, 13.69timesteps/s]
49%|████▉ | 1687/3412 [02:05<02:05, 13.72timesteps/s]
50%|████▉ | 1689/3412 [02:05<02:05, 13.75timesteps/s]
50%|████▉ | 1691/3412 [02:05<02:05, 13.75timesteps/s]
50%|████▉ | 1693/3412 [02:05<02:04, 13.77timesteps/s]
50%|████▉ | 1695/3412 [02:05<02:04, 13.77timesteps/s]
50%|████▉ | 1697/3412 [02:06<02:04, 13.78timesteps/s]
50%|████▉ | 1699/3412 [02:06<02:04, 13.77timesteps/s]
50%|████▉ | 1701/3412 [02:06<02:04, 13.79timesteps/s]
50%|████▉ | 1703/3412 [02:06<02:03, 13.79timesteps/s]
50%|████▉ | 1705/3412 [02:06<02:03, 13.81timesteps/s]
50%|█████ | 1707/3412 [02:06<02:03, 13.81timesteps/s]
50%|█████ | 1709/3412 [02:06<02:03, 13.82timesteps/s]
50%|█████ | 1711/3412 [02:07<02:03, 13.82timesteps/s]
50%|█████ | 1713/3412 [02:07<02:02, 13.82timesteps/s]
50%|█████ | 1715/3412 [02:07<02:02, 13.82timesteps/s]
50%|█████ | 1717/3412 [02:07<02:02, 13.82timesteps/s]
50%|█████ | 1719/3412 [02:07<02:02, 13.82timesteps/s]
50%|█████ | 1721/3412 [02:07<02:02, 13.83timesteps/s]
50%|█████ | 1723/3412 [02:07<02:02, 13.83timesteps/s]
51%|█████ | 1725/3412 [02:08<02:01, 13.83timesteps/s]
51%|█████ | 1727/3412 [02:08<02:01, 13.82timesteps/s]
51%|█████ | 1729/3412 [02:08<02:01, 13.82timesteps/s]
51%|█████ | 1731/3412 [02:08<02:01, 13.82timesteps/s]
51%|█████ | 1733/3412 [02:08<02:01, 13.82timesteps/s]
51%|█████ | 1735/3412 [02:08<02:01, 13.82timesteps/s]
51%|█████ | 1737/3412 [02:08<02:01, 13.82timesteps/s]
51%|█████ | 1739/3412 [02:09<02:01, 13.82timesteps/s]
51%|█████ | 1741/3412 [02:09<02:00, 13.84timesteps/s]
51%|█████ | 1743/3412 [02:09<02:00, 13.85timesteps/s]
51%|█████ | 1745/3412 [02:09<02:00, 13.85timesteps/s]
51%|█████ | 1747/3412 [02:09<02:00, 13.85timesteps/s]
51%|█████▏ | 1749/3412 [02:09<02:00, 13.85timesteps/s]
51%|█████▏ | 1751/3412 [02:09<01:59, 13.85timesteps/s]
51%|█████▏ | 1753/3412 [02:10<01:59, 13.85timesteps/s]
51%|█████▏ | 1755/3412 [02:10<01:59, 13.85timesteps/s]
51%|█████▏ | 1757/3412 [02:10<01:59, 13.85timesteps/s]
52%|█████▏ | 1759/3412 [02:10<01:59, 13.84timesteps/s]
52%|█████▏ | 1761/3412 [02:10<01:59, 13.85timesteps/s]
52%|█████▏ | 1763/3412 [02:10<01:59, 13.83timesteps/s]
52%|█████▏ | 1765/3412 [02:10<02:00, 13.68timesteps/s]
52%|█████▏ | 1767/3412 [02:11<02:00, 13.70timesteps/s]
52%|█████▏ | 1769/3412 [02:11<01:59, 13.73timesteps/s]
52%|█████▏ | 1771/3412 [02:11<01:59, 13.74timesteps/s]
52%|█████▏ | 1773/3412 [02:11<01:59, 13.76timesteps/s]
52%|█████▏ | 1775/3412 [02:11<01:59, 13.75timesteps/s]
52%|█████▏ | 1777/3412 [02:11<01:58, 13.77timesteps/s]
52%|█████▏ | 1779/3412 [02:11<01:58, 13.78timesteps/s]
52%|█████▏ | 1781/3412 [02:12<01:58, 13.80timesteps/s]
52%|█████▏ | 1783/3412 [02:12<01:57, 13.81timesteps/s]
52%|█████▏ | 1785/3412 [02:12<01:57, 13.82timesteps/s]
52%|█████▏ | 1787/3412 [02:12<01:57, 13.80timesteps/s]
52%|█████▏ | 1789/3412 [02:12<01:57, 13.82timesteps/s]
52%|█████▏ | 1791/3412 [02:12<01:57, 13.81timesteps/s]
53%|█████▎ | 1793/3412 [02:13<01:57, 13.82timesteps/s]
53%|█████▎ | 1795/3412 [02:13<01:57, 13.81timesteps/s]
53%|█████▎ | 1797/3412 [02:13<01:56, 13.81timesteps/s]
53%|█████▎ | 1799/3412 [02:13<01:56, 13.82timesteps/s]
53%|█████▎ | 1801/3412 [02:13<01:56, 13.82timesteps/s]
53%|█████▎ | 1803/3412 [02:13<01:56, 13.81timesteps/s]
53%|█████▎ | 1805/3412 [02:13<01:56, 13.82timesteps/s]
53%|█████▎ | 1807/3412 [02:14<01:56, 13.82timesteps/s]
53%|█████▎ | 1809/3412 [02:14<01:56, 13.82timesteps/s]
53%|█████▎ | 1811/3412 [02:14<01:55, 13.81timesteps/s]
53%|█████▎ | 1813/3412 [02:14<01:55, 13.81timesteps/s]
53%|█████▎ | 1815/3412 [02:14<01:55, 13.80timesteps/s]
53%|█████▎ | 1817/3412 [02:14<01:55, 13.81timesteps/s]
53%|█████▎ | 1819/3412 [02:14<01:55, 13.80timesteps/s]
53%|█████▎ | 1821/3412 [02:15<01:55, 13.81timesteps/s]
53%|█████▎ | 1823/3412 [02:15<01:55, 13.80timesteps/s]
53%|█████▎ | 1825/3412 [02:15<01:54, 13.81timesteps/s]
54%|█████▎ | 1827/3412 [02:15<01:54, 13.81timesteps/s]
54%|█████▎ | 1829/3412 [02:15<01:54, 13.81timesteps/s]
54%|█████▎ | 1831/3412 [02:15<01:54, 13.80timesteps/s]
54%|█████▎ | 1833/3412 [02:15<01:54, 13.81timesteps/s]
54%|█████▍ | 1835/3412 [02:16<01:54, 13.80timesteps/s]
54%|█████▍ | 1837/3412 [02:16<01:54, 13.81timesteps/s]
54%|█████▍ | 1839/3412 [02:16<01:53, 13.80timesteps/s]
54%|█████▍ | 1841/3412 [02:16<01:53, 13.81timesteps/s]
54%|█████▍ | 1843/3412 [02:16<01:53, 13.80timesteps/s]
54%|█████▍ | 1845/3412 [02:16<01:53, 13.81timesteps/s]
54%|█████▍ | 1847/3412 [02:16<01:53, 13.80timesteps/s]
54%|█████▍ | 1849/3412 [02:17<01:53, 13.80timesteps/s]
54%|█████▍ | 1851/3412 [02:17<01:53, 13.81timesteps/s]
54%|█████▍ | 1853/3412 [02:17<01:53, 13.78timesteps/s]
54%|█████▍ | 1855/3412 [02:17<01:53, 13.76timesteps/s]
54%|█████▍ | 1857/3412 [02:17<01:52, 13.78timesteps/s]
54%|█████▍ | 1859/3412 [02:17<01:52, 13.78timesteps/s]
55%|█████▍ | 1861/3412 [02:17<01:52, 13.79timesteps/s]
55%|█████▍ | 1863/3412 [02:18<01:52, 13.79timesteps/s]
55%|█████▍ | 1865/3412 [02:18<01:52, 13.80timesteps/s]
55%|█████▍ | 1867/3412 [02:18<01:51, 13.80timesteps/s]
55%|█████▍ | 1869/3412 [02:18<01:51, 13.81timesteps/s]
55%|█████▍ | 1871/3412 [02:18<01:51, 13.80timesteps/s]
55%|█████▍ | 1873/3412 [02:18<01:51, 13.81timesteps/s]
55%|█████▍ | 1875/3412 [02:18<01:51, 13.82timesteps/s]
55%|█████▌ | 1877/3412 [02:19<01:51, 13.82timesteps/s]
55%|█████▌ | 1879/3412 [02:19<01:50, 13.82timesteps/s]
55%|█████▌ | 1881/3412 [02:19<01:50, 13.82timesteps/s]
55%|█████▌ | 1883/3412 [02:19<01:50, 13.81timesteps/s]
55%|█████▌ | 1885/3412 [02:19<01:50, 13.81timesteps/s]
55%|█████▌ | 1887/3412 [02:19<01:50, 13.82timesteps/s]
55%|█████▌ | 1889/3412 [02:19<01:50, 13.83timesteps/s]
55%|█████▌ | 1891/3412 [02:20<01:50, 13.82timesteps/s]
55%|█████▌ | 1893/3412 [02:20<01:49, 13.82timesteps/s]
56%|█████▌ | 1895/3412 [02:20<01:49, 13.81timesteps/s]
56%|█████▌ | 1897/3412 [02:20<01:49, 13.82timesteps/s]
56%|█████▌ | 1899/3412 [02:20<01:49, 13.83timesteps/s]
56%|█████▌ | 1901/3412 [02:20<01:49, 13.84timesteps/s]
56%|█████▌ | 1903/3412 [02:20<01:49, 13.83timesteps/s]
56%|█████▌ | 1905/3412 [02:21<01:48, 13.83timesteps/s]
56%|█████▌ | 1907/3412 [02:21<01:48, 13.83timesteps/s]
56%|█████▌ | 1909/3412 [02:21<01:48, 13.83timesteps/s]
56%|█████▌ | 1911/3412 [02:21<01:48, 13.82timesteps/s]
56%|█████▌ | 1913/3412 [02:21<01:48, 13.83timesteps/s]
56%|█████▌ | 1915/3412 [02:21<01:48, 13.83timesteps/s]
56%|█████▌ | 1917/3412 [02:21<01:48, 13.84timesteps/s]
56%|█████▌ | 1919/3412 [02:22<01:47, 13.83timesteps/s]
56%|█████▋ | 1921/3412 [02:22<01:47, 13.84timesteps/s]
56%|█████▋ | 1923/3412 [02:22<01:47, 13.84timesteps/s]
56%|█████▋ | 1925/3412 [02:22<01:47, 13.83timesteps/s]
56%|█████▋ | 1927/3412 [02:22<01:47, 13.83timesteps/s]
57%|█████▋ | 1929/3412 [02:22<01:47, 13.84timesteps/s]
57%|█████▋ | 1931/3412 [02:23<01:47, 13.82timesteps/s]
57%|█████▋ | 1933/3412 [02:23<01:46, 13.83timesteps/s]
57%|█████▋ | 1935/3412 [02:23<01:46, 13.83timesteps/s]
57%|█████▋ | 1937/3412 [02:23<01:46, 13.84timesteps/s]
57%|█████▋ | 1939/3412 [02:23<01:46, 13.84timesteps/s]
57%|█████▋ | 1941/3412 [02:23<01:46, 13.84timesteps/s]
57%|█████▋ | 1943/3412 [02:23<01:46, 13.84timesteps/s]
57%|█████▋ | 1945/3412 [02:24<01:46, 13.84timesteps/s]
57%|█████▋ | 1947/3412 [02:24<01:45, 13.83timesteps/s]
57%|█████▋ | 1949/3412 [02:24<01:45, 13.83timesteps/s]
57%|█████▋ | 1951/3412 [02:24<01:45, 13.82timesteps/s]
57%|█████▋ | 1953/3412 [02:24<01:45, 13.83timesteps/s]
57%|█████▋ | 1955/3412 [02:24<01:45, 13.82timesteps/s]
57%|█████▋ | 1957/3412 [02:24<01:47, 13.52timesteps/s]
57%|█████▋ | 1959/3412 [02:25<01:47, 13.57timesteps/s]
57%|█████▋ | 1961/3412 [02:25<01:46, 13.64timesteps/s]
58%|█████▊ | 1963/3412 [02:25<01:45, 13.68timesteps/s]
58%|█████▊ | 1965/3412 [02:25<01:45, 13.71timesteps/s]
58%|█████▊ | 1967/3412 [02:25<01:45, 13.73timesteps/s]
58%|█████▊ | 1969/3412 [02:25<01:44, 13.76timesteps/s]
58%|█████▊ | 1971/3412 [02:25<01:44, 13.78timesteps/s]
58%|█████▊ | 1973/3412 [02:26<01:44, 13.79timesteps/s]
58%|█████▊ | 1975/3412 [02:26<01:44, 13.79timesteps/s]
58%|█████▊ | 1977/3412 [02:26<01:43, 13.80timesteps/s]
58%|█████▊ | 1979/3412 [02:26<01:43, 13.80timesteps/s]
58%|█████▊ | 1981/3412 [02:26<01:43, 13.81timesteps/s]
58%|█████▊ | 1983/3412 [02:26<01:43, 13.81timesteps/s]
58%|█████▊ | 1985/3412 [02:26<01:43, 13.82timesteps/s]
58%|█████▊ | 1987/3412 [02:27<01:43, 13.80timesteps/s]
58%|█████▊ | 1989/3412 [02:27<01:43, 13.81timesteps/s]
58%|█████▊ | 1991/3412 [02:27<01:42, 13.81timesteps/s]
58%|█████▊ | 1993/3412 [02:27<01:42, 13.81timesteps/s]
58%|█████▊ | 1995/3412 [02:27<01:42, 13.81timesteps/s]
59%|█████▊ | 1997/3412 [02:27<01:42, 13.82timesteps/s]
59%|█████▊ | 1999/3412 [02:27<01:42, 13.81timesteps/s]
59%|█████▊ | 2001/3412 [02:28<01:42, 13.81timesteps/s]
59%|█████▊ | 2003/3412 [02:28<01:42, 13.81timesteps/s]
59%|█████▉ | 2005/3412 [02:28<01:41, 13.81timesteps/s]
59%|█████▉ | 2007/3412 [02:28<01:41, 13.80timesteps/s]
59%|█████▉ | 2009/3412 [02:28<01:41, 13.82timesteps/s]
59%|█████▉ | 2011/3412 [02:28<01:41, 13.82timesteps/s]
59%|█████▉ | 2013/3412 [02:28<01:41, 13.82timesteps/s]
59%|█████▉ | 2015/3412 [02:29<01:41, 13.81timesteps/s]
59%|█████▉ | 2017/3412 [02:29<01:41, 13.81timesteps/s]
59%|█████▉ | 2019/3412 [02:29<01:40, 13.82timesteps/s]
59%|█████▉ | 2021/3412 [02:29<01:40, 13.82timesteps/s]
59%|█████▉ | 2023/3412 [02:29<01:40, 13.82timesteps/s]
59%|█████▉ | 2025/3412 [02:29<01:40, 13.83timesteps/s]
59%|█████▉ | 2027/3412 [02:29<01:40, 13.82timesteps/s]
59%|█████▉ | 2029/3412 [02:30<01:40, 13.82timesteps/s]
60%|█████▉ | 2031/3412 [02:30<01:39, 13.81timesteps/s]
60%|█████▉ | 2033/3412 [02:30<01:39, 13.82timesteps/s]
60%|█████▉ | 2035/3412 [02:30<01:39, 13.82timesteps/s]
60%|█████▉ | 2037/3412 [02:30<01:39, 13.82timesteps/s]
60%|█████▉ | 2039/3412 [02:30<01:39, 13.81timesteps/s]
60%|█████▉ | 2041/3412 [02:30<01:39, 13.81timesteps/s]
60%|█████▉ | 2043/3412 [02:31<02:41, 8.45timesteps/s]
60%|█████▉ | 2045/3412 [02:31<02:22, 9.57timesteps/s]
60%|█████▉ | 2047/3412 [02:31<02:09, 10.55timesteps/s]
60%|██████ | 2049/3412 [02:31<01:59, 11.37timesteps/s]
60%|██████ | 2051/3412 [02:32<01:53, 12.00timesteps/s]
60%|██████ | 2053/3412 [02:32<01:48, 12.49timesteps/s]
60%|██████ | 2055/3412 [02:32<01:45, 12.86timesteps/s]
60%|██████ | 2057/3412 [02:32<01:44, 12.95timesteps/s]
60%|██████ | 2059/3412 [02:32<01:42, 13.18timesteps/s]
60%|██████ | 2061/3412 [02:32<01:41, 13.36timesteps/s]
60%|██████ | 2063/3412 [02:32<01:40, 13.49timesteps/s]
61%|██████ | 2065/3412 [02:33<01:39, 13.58timesteps/s]
61%|██████ | 2067/3412 [02:33<01:38, 13.64timesteps/s]
61%|██████ | 2069/3412 [02:33<01:38, 13.69timesteps/s]
61%|██████ | 2071/3412 [02:33<01:37, 13.71timesteps/s]
61%|██████ | 2073/3412 [02:33<01:37, 13.74timesteps/s]
61%|██████ | 2075/3412 [02:33<01:37, 13.76timesteps/s]
61%|██████ | 2077/3412 [02:33<01:36, 13.77timesteps/s]
61%|██████ | 2079/3412 [02:34<01:36, 13.78timesteps/s]
61%|██████ | 2081/3412 [02:34<01:36, 13.78timesteps/s]
61%|██████ | 2083/3412 [02:34<01:36, 13.77timesteps/s]
61%|██████ | 2085/3412 [02:34<01:36, 13.78timesteps/s]
61%|██████ | 2087/3412 [02:34<01:36, 13.79timesteps/s]
61%|██████ | 2089/3412 [02:34<01:35, 13.78timesteps/s]
61%|██████▏ | 2091/3412 [02:34<01:35, 13.79timesteps/s]
61%|██████▏ | 2093/3412 [02:35<01:35, 13.80timesteps/s]
61%|██████▏ | 2095/3412 [02:35<01:35, 13.80timesteps/s]
61%|██████▏ | 2097/3412 [02:35<01:35, 13.79timesteps/s]
62%|██████▏ | 2099/3412 [02:35<01:35, 13.78timesteps/s]
62%|██████▏ | 2101/3412 [02:35<01:35, 13.79timesteps/s]
62%|██████▏ | 2103/3412 [02:35<01:34, 13.79timesteps/s]
62%|██████▏ | 2105/3412 [02:35<01:34, 13.79timesteps/s]
62%|██████▏ | 2107/3412 [02:36<01:34, 13.78timesteps/s]
62%|██████▏ | 2109/3412 [02:36<01:34, 13.79timesteps/s]
62%|██████▏ | 2111/3412 [02:36<01:34, 13.80timesteps/s]
62%|██████▏ | 2113/3412 [02:36<01:34, 13.79timesteps/s]
62%|██████▏ | 2115/3412 [02:36<01:34, 13.78timesteps/s]
62%|██████▏ | 2117/3412 [02:36<01:33, 13.79timesteps/s]
62%|██████▏ | 2119/3412 [02:36<01:33, 13.79timesteps/s]
62%|██████▏ | 2121/3412 [02:37<01:33, 13.78timesteps/s]
62%|██████▏ | 2123/3412 [02:37<01:33, 13.79timesteps/s]
62%|██████▏ | 2125/3412 [02:37<01:33, 13.79timesteps/s]
62%|██████▏ | 2127/3412 [02:37<01:33, 13.79timesteps/s]
62%|██████▏ | 2129/3412 [02:37<01:33, 13.79timesteps/s]
62%|██████▏ | 2131/3412 [02:37<01:32, 13.80timesteps/s]
63%|██████▎ | 2133/3412 [02:37<01:32, 13.80timesteps/s]
63%|██████▎ | 2135/3412 [02:38<01:32, 13.79timesteps/s]
63%|██████▎ | 2137/3412 [02:38<01:32, 13.78timesteps/s]
63%|██████▎ | 2139/3412 [02:38<01:32, 13.80timesteps/s]
63%|██████▎ | 2141/3412 [02:38<01:32, 13.79timesteps/s]
63%|██████▎ | 2143/3412 [02:38<01:32, 13.79timesteps/s]
63%|██████▎ | 2145/3412 [02:38<01:31, 13.79timesteps/s]
63%|██████▎ | 2147/3412 [02:38<01:31, 13.80timesteps/s]
63%|██████▎ | 2149/3412 [02:39<01:31, 13.79timesteps/s]
63%|██████▎ | 2151/3412 [02:39<01:31, 13.80timesteps/s]
63%|██████▎ | 2153/3412 [02:39<01:31, 13.79timesteps/s]
63%|██████▎ | 2155/3412 [02:39<01:31, 13.79timesteps/s]
63%|██████▎ | 2157/3412 [02:39<01:31, 13.79timesteps/s]
63%|██████▎ | 2159/3412 [02:39<01:30, 13.80timesteps/s]
63%|██████▎ | 2161/3412 [02:39<01:30, 13.75timesteps/s]
63%|██████▎ | 2163/3412 [02:40<01:30, 13.73timesteps/s]
63%|██████▎ | 2165/3412 [02:40<01:30, 13.75timesteps/s]
64%|██████▎ | 2167/3412 [02:40<01:30, 13.77timesteps/s]
64%|██████▎ | 2169/3412 [02:40<01:30, 13.77timesteps/s]
64%|██████▎ | 2171/3412 [02:40<01:30, 13.79timesteps/s]
64%|██████▎ | 2173/3412 [02:40<01:29, 13.79timesteps/s]
64%|██████▎ | 2175/3412 [02:41<01:29, 13.80timesteps/s]
64%|██████▍ | 2177/3412 [02:41<01:29, 13.79timesteps/s]
64%|██████▍ | 2179/3412 [02:41<01:29, 13.81timesteps/s]
64%|██████▍ | 2181/3412 [02:41<01:29, 13.80timesteps/s]
64%|██████▍ | 2183/3412 [02:41<01:29, 13.80timesteps/s]
64%|██████▍ | 2185/3412 [02:41<01:28, 13.80timesteps/s]
64%|██████▍ | 2187/3412 [02:41<01:28, 13.80timesteps/s]
64%|██████▍ | 2189/3412 [02:42<01:28, 13.79timesteps/s]
64%|██████▍ | 2191/3412 [02:42<01:28, 13.80timesteps/s]
64%|██████▍ | 2193/3412 [02:42<01:28, 13.80timesteps/s]
64%|██████▍ | 2195/3412 [02:42<01:28, 13.80timesteps/s]
64%|██████▍ | 2197/3412 [02:42<01:28, 13.78timesteps/s]
64%|██████▍ | 2199/3412 [02:42<01:27, 13.80timesteps/s]
65%|██████▍ | 2201/3412 [02:42<01:27, 13.80timesteps/s]
65%|██████▍ | 2203/3412 [02:43<01:27, 13.79timesteps/s]
65%|██████▍ | 2205/3412 [02:43<01:27, 13.79timesteps/s]
65%|██████▍ | 2207/3412 [02:43<01:27, 13.80timesteps/s]
65%|██████▍ | 2209/3412 [02:43<01:27, 13.79timesteps/s]
65%|██████▍ | 2211/3412 [02:43<01:27, 13.79timesteps/s]
65%|██████▍ | 2213/3412 [02:43<01:26, 13.78timesteps/s]
65%|██████▍ | 2215/3412 [02:43<01:26, 13.79timesteps/s]
65%|██████▍ | 2217/3412 [02:44<01:26, 13.78timesteps/s]
65%|██████▌ | 2219/3412 [02:44<01:26, 13.79timesteps/s]
65%|██████▌ | 2221/3412 [02:44<01:26, 13.78timesteps/s]
65%|██████▌ | 2223/3412 [02:44<01:26, 13.79timesteps/s]
65%|██████▌ | 2225/3412 [02:44<01:26, 13.79timesteps/s]
65%|██████▌ | 2227/3412 [02:44<01:25, 13.79timesteps/s]
65%|██████▌ | 2229/3412 [02:44<01:25, 13.79timesteps/s]
65%|██████▌ | 2231/3412 [02:45<01:25, 13.79timesteps/s]
65%|██████▌ | 2233/3412 [02:45<01:25, 13.79timesteps/s]
66%|██████▌ | 2235/3412 [02:45<01:25, 13.80timesteps/s]
66%|██████▌ | 2237/3412 [02:45<01:25, 13.79timesteps/s]
66%|██████▌ | 2239/3412 [02:45<01:24, 13.80timesteps/s]
66%|██████▌ | 2241/3412 [02:45<01:24, 13.80timesteps/s]
66%|██████▌ | 2243/3412 [02:45<01:24, 13.81timesteps/s]
66%|██████▌ | 2245/3412 [02:46<01:24, 13.79timesteps/s]
66%|██████▌ | 2247/3412 [02:46<01:24, 13.80timesteps/s]
66%|██████▌ | 2249/3412 [02:46<01:24, 13.80timesteps/s]
66%|██████▌ | 2251/3412 [02:46<01:24, 13.79timesteps/s]
66%|██████▌ | 2253/3412 [02:46<01:24, 13.79timesteps/s]
66%|██████▌ | 2255/3412 [02:46<01:23, 13.80timesteps/s]
66%|██████▌ | 2257/3412 [02:46<01:23, 13.79timesteps/s]
66%|██████▌ | 2259/3412 [02:47<01:23, 13.80timesteps/s]
66%|██████▋ | 2261/3412 [02:47<01:23, 13.79timesteps/s]
66%|██████▋ | 2263/3412 [02:47<01:23, 13.81timesteps/s]
66%|██████▋ | 2265/3412 [02:47<01:23, 13.81timesteps/s]
66%|██████▋ | 2267/3412 [02:47<01:22, 13.81timesteps/s]
67%|██████▋ | 2269/3412 [02:47<01:22, 13.81timesteps/s]
67%|██████▋ | 2271/3412 [02:47<01:22, 13.80timesteps/s]
67%|██████▋ | 2273/3412 [02:48<01:22, 13.80timesteps/s]
67%|██████▋ | 2275/3412 [02:48<01:22, 13.81timesteps/s]
67%|██████▋ | 2277/3412 [02:48<01:22, 13.76timesteps/s]
67%|██████▋ | 2279/3412 [02:48<01:22, 13.78timesteps/s]
67%|██████▋ | 2281/3412 [02:48<01:22, 13.78timesteps/s]
67%|██████▋ | 2283/3412 [02:48<01:21, 13.79timesteps/s]
67%|██████▋ | 2285/3412 [02:48<01:21, 13.79timesteps/s]
67%|██████▋ | 2287/3412 [02:49<01:23, 13.46timesteps/s]
67%|██████▋ | 2289/3412 [02:49<01:22, 13.54timesteps/s]
67%|██████▋ | 2291/3412 [02:49<01:22, 13.62timesteps/s]
67%|██████▋ | 2293/3412 [02:49<01:21, 13.67timesteps/s]
67%|██████▋ | 2295/3412 [02:49<01:21, 13.71timesteps/s]
67%|██████▋ | 2297/3412 [02:49<01:21, 13.73timesteps/s]
67%|██████▋ | 2299/3412 [02:50<01:20, 13.76timesteps/s]
67%|██████▋ | 2301/3412 [02:50<01:20, 13.77timesteps/s]
67%|██████▋ | 2303/3412 [02:50<01:20, 13.79timesteps/s]
68%|██████▊ | 2305/3412 [02:50<01:20, 13.79timesteps/s]
68%|██████▊ | 2307/3412 [02:50<01:20, 13.80timesteps/s]
68%|██████▊ | 2309/3412 [02:50<01:19, 13.80timesteps/s]
68%|██████▊ | 2311/3412 [02:50<01:19, 13.81timesteps/s]
68%|██████▊ | 2313/3412 [02:51<01:19, 13.80timesteps/s]
68%|██████▊ | 2315/3412 [02:51<01:19, 13.81timesteps/s]
68%|██████▊ | 2317/3412 [02:51<01:19, 13.82timesteps/s]
68%|██████▊ | 2319/3412 [02:51<01:19, 13.82timesteps/s]
68%|██████▊ | 2321/3412 [02:51<01:18, 13.82timesteps/s]
68%|██████▊ | 2323/3412 [02:51<01:18, 13.83timesteps/s]
68%|██████▊ | 2325/3412 [02:51<01:18, 13.83timesteps/s]
68%|██████▊ | 2327/3412 [02:52<01:18, 13.82timesteps/s]
68%|██████▊ | 2329/3412 [02:52<01:18, 13.82timesteps/s]
68%|██████▊ | 2331/3412 [02:52<01:18, 13.83timesteps/s]
68%|██████▊ | 2333/3412 [02:52<01:18, 13.82timesteps/s]
68%|██████▊ | 2335/3412 [02:52<01:17, 13.81timesteps/s]
68%|██████▊ | 2337/3412 [02:52<01:17, 13.82timesteps/s]
69%|██████▊ | 2339/3412 [02:52<01:17, 13.84timesteps/s]
69%|██████▊ | 2341/3412 [02:53<01:17, 13.82timesteps/s]
69%|██████▊ | 2343/3412 [02:53<01:17, 13.83timesteps/s]
69%|██████▊ | 2345/3412 [02:53<01:17, 13.83timesteps/s]
69%|██████▉ | 2347/3412 [02:53<01:17, 13.83timesteps/s]
69%|██████▉ | 2349/3412 [02:53<01:16, 13.83timesteps/s]
69%|██████▉ | 2351/3412 [02:53<01:16, 13.84timesteps/s]
69%|██████▉ | 2353/3412 [02:53<01:16, 13.84timesteps/s]
69%|██████▉ | 2355/3412 [02:54<01:16, 13.85timesteps/s]
69%|██████▉ | 2357/3412 [02:54<01:16, 13.85timesteps/s]
69%|██████▉ | 2359/3412 [02:54<01:15, 13.86timesteps/s]
69%|██████▉ | 2361/3412 [02:54<01:15, 13.84timesteps/s]
69%|██████▉ | 2363/3412 [02:54<01:15, 13.85timesteps/s]
69%|██████▉ | 2365/3412 [02:54<01:15, 13.85timesteps/s]
69%|██████▉ | 2367/3412 [02:54<01:15, 13.85timesteps/s]
69%|██████▉ | 2369/3412 [02:55<01:15, 13.85timesteps/s]
69%|██████▉ | 2371/3412 [02:55<01:15, 13.85timesteps/s]
70%|██████▉ | 2373/3412 [02:55<01:15, 13.84timesteps/s]
70%|██████▉ | 2375/3412 [02:55<01:14, 13.84timesteps/s]
70%|██████▉ | 2377/3412 [02:55<01:14, 13.84timesteps/s]
70%|██████▉ | 2379/3412 [02:55<01:14, 13.84timesteps/s]
70%|██████▉ | 2381/3412 [02:55<01:14, 13.84timesteps/s]
70%|██████▉ | 2383/3412 [02:56<01:14, 13.84timesteps/s]
70%|██████▉ | 2385/3412 [02:56<01:14, 13.84timesteps/s]
70%|██████▉ | 2387/3412 [02:56<01:14, 13.85timesteps/s]
70%|███████ | 2389/3412 [02:56<01:13, 13.84timesteps/s]
70%|███████ | 2391/3412 [02:56<01:13, 13.86timesteps/s]
70%|███████ | 2393/3412 [02:56<01:13, 13.85timesteps/s]
70%|███████ | 2395/3412 [02:56<01:13, 13.85timesteps/s]
70%|███████ | 2397/3412 [02:57<01:13, 13.85timesteps/s]
70%|███████ | 2399/3412 [02:57<01:13, 13.85timesteps/s]
70%|███████ | 2401/3412 [02:57<01:13, 13.84timesteps/s]
70%|███████ | 2403/3412 [02:57<01:12, 13.84timesteps/s]
70%|███████ | 2405/3412 [02:57<01:12, 13.84timesteps/s]
71%|███████ | 2407/3412 [02:57<01:12, 13.85timesteps/s]
71%|███████ | 2409/3412 [02:57<01:12, 13.83timesteps/s]
71%|███████ | 2411/3412 [02:58<01:12, 13.84timesteps/s]
71%|███████ | 2413/3412 [02:58<01:12, 13.70timesteps/s]
71%|███████ | 2415/3412 [02:58<01:12, 13.72timesteps/s]
71%|███████ | 2417/3412 [02:58<01:12, 13.76timesteps/s]
71%|███████ | 2419/3412 [02:58<01:12, 13.79timesteps/s]
71%|███████ | 2421/3412 [02:58<01:11, 13.80timesteps/s]
71%|███████ | 2423/3412 [02:58<01:11, 13.81timesteps/s]
71%|███████ | 2425/3412 [02:59<01:11, 13.81timesteps/s]
71%|███████ | 2427/3412 [02:59<01:11, 13.82timesteps/s]
71%|███████ | 2429/3412 [02:59<01:11, 13.82timesteps/s]
71%|███████ | 2431/3412 [02:59<01:10, 13.83timesteps/s]
71%|███████▏ | 2433/3412 [02:59<01:10, 13.83timesteps/s]
71%|███████▏ | 2435/3412 [02:59<01:10, 13.84timesteps/s]
71%|███████▏ | 2437/3412 [02:59<01:10, 13.83timesteps/s]
71%|███████▏ | 2439/3412 [03:00<01:10, 13.83timesteps/s]
72%|███████▏ | 2441/3412 [03:00<01:10, 13.83timesteps/s]
72%|███████▏ | 2443/3412 [03:00<01:10, 13.83timesteps/s]
72%|███████▏ | 2445/3412 [03:00<01:09, 13.84timesteps/s]
72%|███████▏ | 2447/3412 [03:00<01:09, 13.85timesteps/s]
72%|███████▏ | 2449/3412 [03:00<01:09, 13.84timesteps/s]
72%|███████▏ | 2451/3412 [03:00<01:09, 13.84timesteps/s]
72%|███████▏ | 2453/3412 [03:01<01:09, 13.84timesteps/s]
72%|███████▏ | 2455/3412 [03:01<01:09, 13.83timesteps/s]
72%|███████▏ | 2457/3412 [03:01<01:09, 13.82timesteps/s]
72%|███████▏ | 2459/3412 [03:01<01:08, 13.84timesteps/s]
72%|███████▏ | 2461/3412 [03:01<01:08, 13.84timesteps/s]
72%|███████▏ | 2463/3412 [03:01<01:08, 13.83timesteps/s]
72%|███████▏ | 2465/3412 [03:02<01:08, 13.82timesteps/s]
72%|███████▏ | 2467/3412 [03:02<01:08, 13.83timesteps/s]
72%|███████▏ | 2469/3412 [03:02<01:08, 13.82timesteps/s]
72%|███████▏ | 2471/3412 [03:02<01:08, 13.82timesteps/s]
72%|███████▏ | 2473/3412 [03:02<01:07, 13.81timesteps/s]
73%|███████▎ | 2475/3412 [03:02<01:07, 13.82timesteps/s]
73%|███████▎ | 2477/3412 [03:02<01:07, 13.81timesteps/s]
73%|███████▎ | 2479/3412 [03:03<01:07, 13.82timesteps/s]
73%|███████▎ | 2481/3412 [03:03<01:07, 13.81timesteps/s]
73%|███████▎ | 2483/3412 [03:03<01:07, 13.82timesteps/s]
73%|███████▎ | 2485/3412 [03:03<01:07, 13.82timesteps/s]
73%|███████▎ | 2487/3412 [03:03<01:06, 13.81timesteps/s]
73%|███████▎ | 2489/3412 [03:03<01:06, 13.82timesteps/s]
73%|███████▎ | 2491/3412 [03:03<01:06, 13.82timesteps/s]
73%|███████▎ | 2493/3412 [03:04<01:06, 13.83timesteps/s]
73%|███████▎ | 2495/3412 [03:04<01:06, 13.84timesteps/s]
73%|███████▎ | 2497/3412 [03:04<01:06, 13.83timesteps/s]
73%|███████▎ | 2499/3412 [03:04<01:05, 13.84timesteps/s]
73%|███████▎ | 2501/3412 [03:04<01:05, 13.84timesteps/s]
73%|███████▎ | 2503/3412 [03:04<01:05, 13.85timesteps/s]
73%|███████▎ | 2505/3412 [03:04<01:05, 13.83timesteps/s]
73%|███████▎ | 2507/3412 [03:05<01:05, 13.84timesteps/s]
74%|███████▎ | 2509/3412 [03:05<01:05, 13.84timesteps/s]
74%|███████▎ | 2511/3412 [03:05<01:05, 13.85timesteps/s]
74%|███████▎ | 2513/3412 [03:05<01:04, 13.84timesteps/s]
74%|███████▎ | 2515/3412 [03:05<01:04, 13.85timesteps/s]
74%|███████▍ | 2517/3412 [03:05<01:04, 13.83timesteps/s]
74%|███████▍ | 2519/3412 [03:05<01:04, 13.83timesteps/s]
74%|███████▍ | 2521/3412 [03:06<01:04, 13.83timesteps/s]
74%|███████▍ | 2523/3412 [03:06<01:04, 13.83timesteps/s]
74%|███████▍ | 2525/3412 [03:06<01:04, 13.82timesteps/s]
74%|███████▍ | 2527/3412 [03:06<01:04, 13.83timesteps/s]
74%|███████▍ | 2529/3412 [03:06<01:03, 13.83timesteps/s]
74%|███████▍ | 2531/3412 [03:06<01:03, 13.83timesteps/s]
74%|███████▍ | 2533/3412 [03:06<01:03, 13.83timesteps/s]
74%|███████▍ | 2535/3412 [03:07<01:03, 13.83timesteps/s]
74%|███████▍ | 2537/3412 [03:07<01:03, 13.83timesteps/s]
74%|███████▍ | 2539/3412 [03:07<01:03, 13.79timesteps/s]
74%|███████▍ | 2541/3412 [03:07<01:03, 13.78timesteps/s]
75%|███████▍ | 2543/3412 [03:07<01:03, 13.78timesteps/s]
75%|███████▍ | 2545/3412 [03:07<01:02, 13.78timesteps/s]
75%|███████▍ | 2547/3412 [03:07<01:02, 13.80timesteps/s]
75%|███████▍ | 2549/3412 [03:08<01:02, 13.81timesteps/s]
75%|███████▍ | 2551/3412 [03:08<01:02, 13.81timesteps/s]
75%|███████▍ | 2553/3412 [03:08<01:02, 13.80timesteps/s]
75%|███████▍ | 2555/3412 [03:08<01:02, 13.82timesteps/s]
75%|███████▍ | 2557/3412 [03:08<01:01, 13.82timesteps/s]
75%|███████▌ | 2559/3412 [03:08<01:01, 13.82timesteps/s]
75%|███████▌ | 2561/3412 [03:08<01:01, 13.82timesteps/s]
75%|███████▌ | 2563/3412 [03:09<01:01, 13.82timesteps/s]
75%|███████▌ | 2565/3412 [03:09<01:01, 13.83timesteps/s]
75%|███████▌ | 2567/3412 [03:09<01:01, 13.84timesteps/s]
75%|███████▌ | 2569/3412 [03:09<01:00, 13.83timesteps/s]
75%|███████▌ | 2571/3412 [03:09<01:00, 13.84timesteps/s]
75%|███████▌ | 2573/3412 [03:09<01:00, 13.82timesteps/s]
75%|███████▌ | 2575/3412 [03:09<01:00, 13.83timesteps/s]
76%|███████▌ | 2577/3412 [03:10<01:00, 13.83timesteps/s]
76%|███████▌ | 2579/3412 [03:10<01:00, 13.83timesteps/s]
76%|███████▌ | 2581/3412 [03:10<01:00, 13.81timesteps/s]
76%|███████▌ | 2583/3412 [03:10<00:59, 13.83timesteps/s]
76%|███████▌ | 2585/3412 [03:10<00:59, 13.82timesteps/s]
76%|███████▌ | 2587/3412 [03:10<00:59, 13.82timesteps/s]
76%|███████▌ | 2589/3412 [03:10<00:59, 13.83timesteps/s]
76%|███████▌ | 2591/3412 [03:11<00:59, 13.83timesteps/s]
76%|███████▌ | 2593/3412 [03:11<00:59, 13.82timesteps/s]
76%|███████▌ | 2595/3412 [03:11<00:59, 13.82timesteps/s]
76%|███████▌ | 2597/3412 [03:11<00:58, 13.82timesteps/s]
76%|███████▌ | 2599/3412 [03:11<00:58, 13.83timesteps/s]
76%|███████▌ | 2601/3412 [03:11<00:58, 13.83timesteps/s]
76%|███████▋ | 2603/3412 [03:11<00:58, 13.84timesteps/s]
76%|███████▋ | 2605/3412 [03:12<00:58, 13.84timesteps/s]
76%|███████▋ | 2607/3412 [03:12<00:58, 13.84timesteps/s]
76%|███████▋ | 2609/3412 [03:12<00:58, 13.84timesteps/s]
77%|███████▋ | 2611/3412 [03:12<00:57, 13.83timesteps/s]
77%|███████▋ | 2613/3412 [03:12<00:57, 13.82timesteps/s]
77%|███████▋ | 2615/3412 [03:12<00:57, 13.83timesteps/s]
77%|███████▋ | 2617/3412 [03:13<00:57, 13.82timesteps/s]
77%|███████▋ | 2619/3412 [03:13<00:57, 13.83timesteps/s]
77%|███████▋ | 2621/3412 [03:13<00:57, 13.82timesteps/s]
77%|███████▋ | 2623/3412 [03:13<00:57, 13.83timesteps/s]
77%|███████▋ | 2625/3412 [03:13<00:56, 13.83timesteps/s]
77%|███████▋ | 2627/3412 [03:13<00:56, 13.84timesteps/s]
77%|███████▋ | 2629/3412 [03:13<00:56, 13.83timesteps/s]
77%|███████▋ | 2631/3412 [03:14<00:56, 13.84timesteps/s]
77%|███████▋ | 2633/3412 [03:14<00:56, 13.83timesteps/s]
77%|███████▋ | 2635/3412 [03:14<00:56, 13.84timesteps/s]
77%|███████▋ | 2637/3412 [03:14<00:56, 13.84timesteps/s]
77%|███████▋ | 2639/3412 [03:14<00:55, 13.84timesteps/s]
77%|███████▋ | 2641/3412 [03:14<00:55, 13.83timesteps/s]
77%|███████▋ | 2643/3412 [03:14<00:55, 13.84timesteps/s]
78%|███████▊ | 2645/3412 [03:15<00:55, 13.84timesteps/s]
78%|███████▊ | 2647/3412 [03:15<00:55, 13.85timesteps/s]
78%|███████▊ | 2649/3412 [03:15<00:55, 13.84timesteps/s]
78%|███████▊ | 2651/3412 [03:15<00:54, 13.84timesteps/s]
78%|███████▊ | 2653/3412 [03:15<00:54, 13.83timesteps/s]
78%|███████▊ | 2655/3412 [03:15<00:54, 13.84timesteps/s]
78%|███████▊ | 2657/3412 [03:15<00:54, 13.84timesteps/s]
78%|███████▊ | 2659/3412 [03:16<00:54, 13.85timesteps/s]
78%|███████▊ | 2661/3412 [03:16<00:54, 13.85timesteps/s]
78%|███████▊ | 2663/3412 [03:16<00:54, 13.84timesteps/s]
78%|███████▊ | 2665/3412 [03:16<00:54, 13.83timesteps/s]
78%|███████▊ | 2667/3412 [03:16<00:53, 13.84timesteps/s]
78%|███████▊ | 2669/3412 [03:16<00:53, 13.84timesteps/s]
78%|███████▊ | 2671/3412 [03:16<00:53, 13.84timesteps/s]
78%|███████▊ | 2673/3412 [03:17<00:53, 13.84timesteps/s]
78%|███████▊ | 2675/3412 [03:17<00:53, 13.84timesteps/s]
78%|███████▊ | 2677/3412 [03:17<00:53, 13.84timesteps/s]
79%|███████▊ | 2679/3412 [03:17<00:52, 13.85timesteps/s]
79%|███████▊ | 2681/3412 [03:17<00:52, 13.84timesteps/s]
79%|███████▊ | 2683/3412 [03:17<00:52, 13.84timesteps/s]
79%|███████▊ | 2685/3412 [03:17<00:52, 13.84timesteps/s]
79%|███████▉ | 2687/3412 [03:18<00:52, 13.85timesteps/s]
79%|███████▉ | 2689/3412 [03:18<00:53, 13.54timesteps/s]
79%|███████▉ | 2691/3412 [03:18<00:53, 13.60timesteps/s]
79%|███████▉ | 2693/3412 [03:18<00:52, 13.66timesteps/s]
79%|███████▉ | 2695/3412 [03:18<00:52, 13.71timesteps/s]
79%|███████▉ | 2697/3412 [03:18<00:52, 13.73timesteps/s]
79%|███████▉ | 2699/3412 [03:18<00:51, 13.77timesteps/s]
79%|███████▉ | 2701/3412 [03:19<00:51, 13.79timesteps/s]
79%|███████▉ | 2703/3412 [03:19<00:51, 13.80timesteps/s]
79%|███████▉ | 2705/3412 [03:19<00:51, 13.81timesteps/s]
79%|███████▉ | 2707/3412 [03:19<00:50, 13.82timesteps/s]
79%|███████▉ | 2709/3412 [03:19<00:50, 13.82timesteps/s]
79%|███████▉ | 2711/3412 [03:19<00:50, 13.83timesteps/s]
80%|███████▉ | 2713/3412 [03:19<00:50, 13.84timesteps/s]
80%|███████▉ | 2715/3412 [03:20<00:50, 13.86timesteps/s]
80%|███████▉ | 2717/3412 [03:20<00:50, 13.86timesteps/s]
80%|███████▉ | 2719/3412 [03:20<00:50, 13.86timesteps/s]
80%|███████▉ | 2721/3412 [03:20<00:49, 13.86timesteps/s]
80%|███████▉ | 2723/3412 [03:20<00:49, 13.87timesteps/s]
80%|███████▉ | 2725/3412 [03:20<00:49, 13.86timesteps/s]
80%|███████▉ | 2727/3412 [03:20<00:49, 13.86timesteps/s]
80%|███████▉ | 2729/3412 [03:21<00:49, 13.86timesteps/s]
80%|████████ | 2731/3412 [03:21<00:49, 13.86timesteps/s]
80%|████████ | 2733/3412 [03:21<00:48, 13.86timesteps/s]
80%|████████ | 2735/3412 [03:21<00:48, 13.86timesteps/s]
80%|████████ | 2737/3412 [03:21<00:48, 13.85timesteps/s]
80%|████████ | 2739/3412 [03:21<00:48, 13.87timesteps/s]
80%|████████ | 2741/3412 [03:21<00:48, 13.86timesteps/s]
80%|████████ | 2743/3412 [03:22<00:48, 13.86timesteps/s]
80%|████████ | 2745/3412 [03:22<00:48, 13.85timesteps/s]
81%|████████ | 2747/3412 [03:22<00:47, 13.86timesteps/s]
81%|████████ | 2749/3412 [03:22<00:47, 13.85timesteps/s]
81%|████████ | 2751/3412 [03:22<00:47, 13.85timesteps/s]
81%|████████ | 2753/3412 [03:22<00:47, 13.85timesteps/s]
81%|████████ | 2755/3412 [03:22<00:47, 13.85timesteps/s]
81%|████████ | 2757/3412 [03:23<00:47, 13.84timesteps/s]
81%|████████ | 2759/3412 [03:23<00:47, 13.84timesteps/s]
81%|████████ | 2761/3412 [03:23<00:47, 13.85timesteps/s]
81%|████████ | 2763/3412 [03:23<00:46, 13.86timesteps/s]
81%|████████ | 2765/3412 [03:23<00:46, 13.85timesteps/s]
81%|████████ | 2767/3412 [03:23<00:46, 13.86timesteps/s]
81%|████████ | 2769/3412 [03:23<00:46, 13.86timesteps/s]
81%|████████ | 2771/3412 [03:24<00:46, 13.87timesteps/s]
81%|████████▏ | 2773/3412 [03:24<00:46, 13.86timesteps/s]
81%|████████▏ | 2775/3412 [03:24<00:45, 13.87timesteps/s]
81%|████████▏ | 2777/3412 [03:24<00:45, 13.87timesteps/s]
81%|████████▏ | 2779/3412 [03:24<00:45, 13.87timesteps/s]
82%|████████▏ | 2781/3412 [03:24<00:45, 13.87timesteps/s]
82%|████████▏ | 2783/3412 [03:25<00:45, 13.88timesteps/s]
82%|████████▏ | 2785/3412 [03:25<00:45, 13.86timesteps/s]
82%|████████▏ | 2787/3412 [03:25<00:45, 13.86timesteps/s]
82%|████████▏ | 2789/3412 [03:25<00:44, 13.85timesteps/s]
82%|████████▏ | 2791/3412 [03:25<00:44, 13.86timesteps/s]
82%|████████▏ | 2793/3412 [03:25<00:44, 13.85timesteps/s]
82%|████████▏ | 2795/3412 [03:25<00:44, 13.86timesteps/s]
82%|████████▏ | 2797/3412 [03:26<00:44, 13.86timesteps/s]
82%|████████▏ | 2799/3412 [03:26<00:44, 13.86timesteps/s]
82%|████████▏ | 2801/3412 [03:26<00:44, 13.86timesteps/s]
82%|████████▏ | 2803/3412 [03:26<00:43, 13.87timesteps/s]
82%|████████▏ | 2805/3412 [03:26<00:43, 13.86timesteps/s]
82%|████████▏ | 2807/3412 [03:26<00:43, 13.86timesteps/s]
82%|████████▏ | 2809/3412 [03:26<00:43, 13.85timesteps/s]
82%|████████▏ | 2811/3412 [03:27<00:43, 13.85timesteps/s]
82%|████████▏ | 2813/3412 [03:27<00:43, 13.85timesteps/s]
83%|████████▎ | 2815/3412 [03:27<00:43, 13.86timesteps/s]
83%|████████▎ | 2817/3412 [03:27<00:42, 13.86timesteps/s]
83%|████████▎ | 2819/3412 [03:27<00:42, 13.86timesteps/s]
83%|████████▎ | 2821/3412 [03:27<00:42, 13.85timesteps/s]
83%|████████▎ | 2823/3412 [03:27<00:42, 13.86timesteps/s]
83%|████████▎ | 2825/3412 [03:28<00:42, 13.86timesteps/s]
83%|████████▎ | 2827/3412 [03:28<00:42, 13.87timesteps/s]
83%|████████▎ | 2829/3412 [03:28<00:42, 13.87timesteps/s]
83%|████████▎ | 2831/3412 [03:28<00:41, 13.89timesteps/s]
83%|████████▎ | 2833/3412 [03:28<00:41, 13.88timesteps/s]
83%|████████▎ | 2835/3412 [03:28<00:41, 13.88timesteps/s]
83%|████████▎ | 2837/3412 [03:28<00:41, 13.88timesteps/s]
83%|████████▎ | 2839/3412 [03:29<00:41, 13.88timesteps/s]
83%|████████▎ | 2841/3412 [03:29<00:41, 13.72timesteps/s]
83%|████████▎ | 2843/3412 [03:29<00:41, 13.74timesteps/s]
83%|████████▎ | 2845/3412 [03:29<00:41, 13.78timesteps/s]
83%|████████▎ | 2847/3412 [03:29<00:40, 13.79timesteps/s]
83%|████████▎ | 2849/3412 [03:29<00:40, 13.80timesteps/s]
84%|████████▎ | 2851/3412 [03:29<00:40, 13.83timesteps/s]
84%|████████▎ | 2853/3412 [03:30<00:40, 13.84timesteps/s]
84%|████████▎ | 2855/3412 [03:30<00:40, 13.85timesteps/s]
84%|████████▎ | 2857/3412 [03:30<00:40, 13.85timesteps/s]
84%|████████▍ | 2859/3412 [03:30<00:39, 13.86timesteps/s]
84%|████████▍ | 2861/3412 [03:30<00:39, 13.85timesteps/s]
84%|████████▍ | 2863/3412 [03:30<00:39, 13.85timesteps/s]
84%|████████▍ | 2865/3412 [03:30<00:39, 13.84timesteps/s]
84%|████████▍ | 2867/3412 [03:31<00:39, 13.85timesteps/s]
84%|████████▍ | 2869/3412 [03:31<00:39, 13.85timesteps/s]
84%|████████▍ | 2871/3412 [03:31<00:39, 13.86timesteps/s]
84%|████████▍ | 2873/3412 [03:31<00:38, 13.86timesteps/s]
84%|████████▍ | 2875/3412 [03:31<00:38, 13.85timesteps/s]
84%|████████▍ | 2877/3412 [03:31<00:38, 13.85timesteps/s]
84%|████████▍ | 2879/3412 [03:31<00:38, 13.86timesteps/s]
84%|████████▍ | 2881/3412 [03:32<00:38, 13.85timesteps/s]
84%|████████▍ | 2883/3412 [03:32<00:38, 13.86timesteps/s]
85%|████████▍ | 2885/3412 [03:32<00:38, 13.85timesteps/s]
85%|████████▍ | 2887/3412 [03:32<00:37, 13.86timesteps/s]
85%|████████▍ | 2889/3412 [03:32<00:37, 13.85timesteps/s]
85%|████████▍ | 2891/3412 [03:32<00:37, 13.86timesteps/s]
85%|████████▍ | 2893/3412 [03:32<00:37, 13.86timesteps/s]
85%|████████▍ | 2895/3412 [03:33<00:37, 13.86timesteps/s]
85%|████████▍ | 2897/3412 [03:33<00:37, 13.87timesteps/s]
85%|████████▍ | 2899/3412 [03:33<00:36, 13.87timesteps/s]
85%|████████▌ | 2901/3412 [03:33<00:36, 13.88timesteps/s]
85%|████████▌ | 2903/3412 [03:33<00:36, 13.88timesteps/s]
85%|████████▌ | 2905/3412 [03:33<00:36, 13.87timesteps/s]
85%|████████▌ | 2907/3412 [03:33<00:36, 13.88timesteps/s]
85%|████████▌ | 2909/3412 [03:34<00:36, 13.87timesteps/s]
85%|████████▌ | 2911/3412 [03:34<00:36, 13.87timesteps/s]
85%|████████▌ | 2913/3412 [03:34<00:35, 13.86timesteps/s]
85%|████████▌ | 2915/3412 [03:34<00:35, 13.86timesteps/s]
85%|████████▌ | 2917/3412 [03:34<00:35, 13.86timesteps/s]
86%|████████▌ | 2919/3412 [03:34<00:35, 13.87timesteps/s]
86%|████████▌ | 2921/3412 [03:34<00:35, 13.86timesteps/s]
86%|████████▌ | 2923/3412 [03:35<00:35, 13.85timesteps/s]
86%|████████▌ | 2925/3412 [03:35<00:35, 13.86timesteps/s]
86%|████████▌ | 2927/3412 [03:35<00:34, 13.87timesteps/s]
86%|████████▌ | 2929/3412 [03:35<00:34, 13.86timesteps/s]
86%|████████▌ | 2931/3412 [03:35<00:34, 13.87timesteps/s]
86%|████████▌ | 2933/3412 [03:35<00:34, 13.87timesteps/s]
86%|████████▌ | 2935/3412 [03:35<00:34, 13.87timesteps/s]
86%|████████▌ | 2937/3412 [03:36<00:34, 13.86timesteps/s]
86%|████████▌ | 2939/3412 [03:36<00:34, 13.87timesteps/s]
86%|████████▌ | 2941/3412 [03:36<00:33, 13.86timesteps/s]
86%|████████▋ | 2943/3412 [03:36<00:33, 13.86timesteps/s]
86%|████████▋ | 2945/3412 [03:36<00:33, 13.86timesteps/s]
86%|████████▋ | 2947/3412 [03:36<00:33, 13.86timesteps/s]
86%|████████▋ | 2949/3412 [03:36<00:33, 13.85timesteps/s]
86%|████████▋ | 2951/3412 [03:37<00:33, 13.85timesteps/s]
87%|████████▋ | 2953/3412 [03:37<00:33, 13.85timesteps/s]
87%|████████▋ | 2955/3412 [03:37<00:32, 13.86timesteps/s]
87%|████████▋ | 2957/3412 [03:37<00:32, 13.85timesteps/s]
87%|████████▋ | 2959/3412 [03:37<00:32, 13.85timesteps/s]
87%|████████▋ | 2961/3412 [03:37<00:32, 13.85timesteps/s]
87%|████████▋ | 2963/3412 [03:37<00:32, 13.86timesteps/s]
87%|████████▋ | 2965/3412 [03:38<00:32, 13.84timesteps/s]
87%|████████▋ | 2967/3412 [03:38<00:32, 13.84timesteps/s]
87%|████████▋ | 2969/3412 [03:38<00:32, 13.84timesteps/s]
87%|████████▋ | 2971/3412 [03:38<00:31, 13.84timesteps/s]
87%|████████▋ | 2973/3412 [03:38<00:31, 13.83timesteps/s]
87%|████████▋ | 2975/3412 [03:38<00:31, 13.85timesteps/s]
87%|████████▋ | 2977/3412 [03:39<00:31, 13.84timesteps/s]
87%|████████▋ | 2979/3412 [03:39<00:31, 13.85timesteps/s]
87%|████████▋ | 2981/3412 [03:39<00:31, 13.85timesteps/s]
87%|████████▋ | 2983/3412 [03:39<00:30, 13.86timesteps/s]
87%|████████▋ | 2985/3412 [03:39<00:30, 13.85timesteps/s]
88%|████████▊ | 2987/3412 [03:39<00:30, 13.85timesteps/s]
88%|████████▊ | 2989/3412 [03:39<00:30, 13.84timesteps/s]
88%|████████▊ | 2991/3412 [03:40<00:30, 13.81timesteps/s]
88%|████████▊ | 2993/3412 [03:40<00:30, 13.79timesteps/s]
88%|████████▊ | 2995/3412 [03:40<00:30, 13.81timesteps/s]
88%|████████▊ | 2997/3412 [03:40<00:30, 13.81timesteps/s]
88%|████████▊ | 2999/3412 [03:40<00:29, 13.81timesteps/s]
88%|████████▊ | 3001/3412 [03:40<00:29, 13.82timesteps/s]
88%|████████▊ | 3003/3412 [03:40<00:29, 13.82timesteps/s]
88%|████████▊ | 3005/3412 [03:41<00:29, 13.83timesteps/s]
88%|████████▊ | 3007/3412 [03:41<00:29, 13.83timesteps/s]
88%|████████▊ | 3009/3412 [03:41<00:29, 13.83timesteps/s]
88%|████████▊ | 3011/3412 [03:41<00:28, 13.84timesteps/s]
88%|████████▊ | 3013/3412 [03:41<00:28, 13.82timesteps/s]
88%|████████▊ | 3015/3412 [03:41<00:28, 13.83timesteps/s]
88%|████████▊ | 3017/3412 [03:41<00:28, 13.83timesteps/s]
88%|████████▊ | 3019/3412 [03:42<00:28, 13.83timesteps/s]
89%|████████▊ | 3021/3412 [03:42<00:28, 13.83timesteps/s]
89%|████████▊ | 3023/3412 [03:42<00:28, 13.84timesteps/s]
89%|████████▊ | 3025/3412 [03:42<00:27, 13.83timesteps/s]
89%|████████▊ | 3027/3412 [03:42<00:27, 13.84timesteps/s]
89%|████████▉ | 3029/3412 [03:42<00:27, 13.84timesteps/s]
89%|████████▉ | 3031/3412 [03:42<00:27, 13.85timesteps/s]
89%|████████▉ | 3033/3412 [03:43<00:27, 13.85timesteps/s]
89%|████████▉ | 3035/3412 [03:43<00:27, 13.84timesteps/s]
89%|████████▉ | 3037/3412 [03:43<00:27, 13.84timesteps/s]
89%|████████▉ | 3039/3412 [03:43<00:26, 13.83timesteps/s]
89%|████████▉ | 3041/3412 [03:43<00:26, 13.83timesteps/s]
89%|████████▉ | 3043/3412 [03:43<00:26, 13.84timesteps/s]
89%|████████▉ | 3045/3412 [03:43<00:26, 13.83timesteps/s]
89%|████████▉ | 3047/3412 [03:44<00:26, 13.84timesteps/s]
89%|████████▉ | 3049/3412 [03:44<00:26, 13.83timesteps/s]
89%|████████▉ | 3051/3412 [03:44<00:26, 13.84timesteps/s]
89%|████████▉ | 3053/3412 [03:44<00:25, 13.83timesteps/s]
90%|████████▉ | 3055/3412 [03:44<00:25, 13.84timesteps/s]
90%|████████▉ | 3057/3412 [03:44<00:25, 13.85timesteps/s]
90%|████████▉ | 3059/3412 [03:44<00:25, 13.85timesteps/s]
90%|████████▉ | 3061/3412 [03:45<00:25, 13.84timesteps/s]
90%|████████▉ | 3063/3412 [03:45<00:25, 13.84timesteps/s]
90%|████████▉ | 3065/3412 [03:45<00:25, 13.84timesteps/s]
90%|████████▉ | 3067/3412 [03:45<00:24, 13.85timesteps/s]
90%|████████▉ | 3069/3412 [03:45<00:24, 13.84timesteps/s]
90%|█████████ | 3071/3412 [03:45<00:24, 13.84timesteps/s]
90%|█████████ | 3073/3412 [03:45<00:24, 13.83timesteps/s]
90%|█████████ | 3075/3412 [03:46<00:24, 13.84timesteps/s]
90%|█████████ | 3077/3412 [03:46<00:24, 13.84timesteps/s]
90%|█████████ | 3079/3412 [03:46<00:24, 13.85timesteps/s]
90%|█████████ | 3081/3412 [03:46<00:23, 13.84timesteps/s]
90%|█████████ | 3083/3412 [03:46<00:23, 13.84timesteps/s]
90%|█████████ | 3085/3412 [03:46<00:23, 13.84timesteps/s]
90%|█████████ | 3087/3412 [03:46<00:23, 13.84timesteps/s]
91%|█████████ | 3089/3412 [03:47<00:23, 13.85timesteps/s]
91%|█████████ | 3091/3412 [03:47<00:23, 13.85timesteps/s]
91%|█████████ | 3093/3412 [03:47<00:23, 13.84timesteps/s]
91%|█████████ | 3095/3412 [03:47<00:22, 13.84timesteps/s]
91%|█████████ | 3097/3412 [03:47<00:22, 13.83timesteps/s]
91%|█████████ | 3099/3412 [03:47<00:22, 13.84timesteps/s]
91%|█████████ | 3101/3412 [03:47<00:22, 13.83timesteps/s]
91%|█████████ | 3103/3412 [03:48<00:22, 13.84timesteps/s]
91%|█████████ | 3105/3412 [03:48<00:22, 13.84timesteps/s]
91%|█████████ | 3107/3412 [03:48<00:22, 13.85timesteps/s]
91%|█████████ | 3109/3412 [03:48<00:21, 13.84timesteps/s]
91%|█████████ | 3111/3412 [03:48<00:21, 13.84timesteps/s]
91%|█████████ | 3113/3412 [03:48<00:21, 13.83timesteps/s]
91%|█████████▏| 3115/3412 [03:48<00:21, 13.83timesteps/s]
91%|█████████▏| 3117/3412 [03:49<00:21, 13.83timesteps/s]
91%|█████████▏| 3119/3412 [03:49<00:21, 13.83timesteps/s]
91%|█████████▏| 3121/3412 [03:49<00:21, 13.82timesteps/s]
92%|█████████▏| 3123/3412 [03:49<00:20, 13.82timesteps/s]
92%|█████████▏| 3125/3412 [03:49<00:20, 13.81timesteps/s]
92%|█████████▏| 3127/3412 [03:49<00:20, 13.82timesteps/s]
92%|█████████▏| 3129/3412 [03:49<00:20, 13.81timesteps/s]
92%|█████████▏| 3131/3412 [03:50<00:20, 13.82timesteps/s]
92%|█████████▏| 3133/3412 [03:50<00:20, 13.82timesteps/s]
92%|█████████▏| 3135/3412 [03:50<00:20, 13.82timesteps/s]
92%|█████████▏| 3137/3412 [03:50<00:19, 13.82timesteps/s]
92%|█████████▏| 3139/3412 [03:50<00:19, 13.83timesteps/s]
92%|█████████▏| 3141/3412 [03:50<00:19, 13.83timesteps/s]
92%|█████████▏| 3143/3412 [03:51<00:19, 13.84timesteps/s]
92%|█████████▏| 3145/3412 [03:51<00:19, 13.84timesteps/s]
92%|█████████▏| 3147/3412 [03:51<00:19, 13.85timesteps/s]
92%|█████████▏| 3149/3412 [03:51<00:19, 13.83timesteps/s]
92%|█████████▏| 3151/3412 [03:51<00:18, 13.83timesteps/s]
92%|█████████▏| 3153/3412 [03:51<00:26, 9.80timesteps/s]
92%|█████████▏| 3155/3412 [03:52<00:23, 10.75timesteps/s]
93%|█████████▎| 3157/3412 [03:52<00:22, 11.53timesteps/s]
93%|█████████▎| 3159/3412 [03:52<00:20, 12.15timesteps/s]
93%|█████████▎| 3161/3412 [03:52<00:19, 12.61timesteps/s]
93%|█████████▎| 3163/3412 [03:52<00:19, 12.97timesteps/s]
93%|█████████▎| 3165/3412 [03:52<00:18, 13.23timesteps/s]
93%|█████████▎| 3167/3412 [03:52<00:18, 13.41timesteps/s]
93%|█████████▎| 3169/3412 [03:53<00:18, 13.32timesteps/s]
93%|█████████▎| 3171/3412 [03:53<00:18, 13.35timesteps/s]
93%|█████████▎| 3173/3412 [03:53<00:17, 13.48timesteps/s]
93%|█████████▎| 3175/3412 [03:53<00:17, 13.57timesteps/s]
93%|█████████▎| 3177/3412 [03:53<00:17, 13.64timesteps/s]
93%|█████████▎| 3179/3412 [03:53<00:17, 13.68timesteps/s]
93%|█████████▎| 3181/3412 [03:53<00:16, 13.68timesteps/s]
93%|█████████▎| 3183/3412 [03:54<00:16, 13.72timesteps/s]
93%|█████████▎| 3185/3412 [03:54<00:16, 13.74timesteps/s]
93%|█████████▎| 3187/3412 [03:54<00:16, 13.76timesteps/s]
93%|█████████▎| 3189/3412 [03:54<00:16, 13.77timesteps/s]
94%|█████████▎| 3191/3412 [03:54<00:16, 13.77timesteps/s]
94%|█████████▎| 3193/3412 [03:54<00:15, 13.79timesteps/s]
94%|█████████▎| 3195/3412 [03:54<00:15, 13.80timesteps/s]
94%|█████████▎| 3197/3412 [03:55<00:15, 13.81timesteps/s]
94%|█████████▍| 3199/3412 [03:55<00:15, 13.81timesteps/s]
94%|█████████▍| 3201/3412 [03:55<00:15, 13.82timesteps/s]
94%|█████████▍| 3203/3412 [03:55<00:15, 13.81timesteps/s]
94%|█████████▍| 3205/3412 [03:55<00:14, 13.82timesteps/s]
94%|█████████▍| 3207/3412 [03:55<00:14, 13.83timesteps/s]
94%|█████████▍| 3209/3412 [03:55<00:14, 13.82timesteps/s]
94%|█████████▍| 3211/3412 [03:56<00:14, 13.83timesteps/s]
94%|█████████▍| 3213/3412 [03:56<00:14, 13.83timesteps/s]
94%|█████████▍| 3215/3412 [03:56<00:14, 13.82timesteps/s]
94%|█████████▍| 3217/3412 [03:56<00:14, 13.82timesteps/s]
94%|█████████▍| 3219/3412 [03:56<00:13, 13.82timesteps/s]
94%|█████████▍| 3221/3412 [03:56<00:13, 13.81timesteps/s]
94%|█████████▍| 3223/3412 [03:57<00:13, 13.81timesteps/s]
95%|█████████▍| 3225/3412 [03:57<00:13, 13.80timesteps/s]
95%|█████████▍| 3227/3412 [03:57<00:13, 13.81timesteps/s]
95%|█████████▍| 3229/3412 [03:57<00:13, 13.81timesteps/s]
95%|█████████▍| 3231/3412 [03:57<00:13, 13.81timesteps/s]
95%|█████████▍| 3233/3412 [03:57<00:12, 13.81timesteps/s]
95%|█████████▍| 3235/3412 [03:57<00:12, 13.81timesteps/s]
95%|█████████▍| 3237/3412 [03:58<00:12, 13.81timesteps/s]
95%|█████████▍| 3239/3412 [03:58<00:12, 13.81timesteps/s]
95%|█████████▍| 3241/3412 [03:58<00:12, 13.80timesteps/s]
95%|█████████▌| 3243/3412 [03:58<00:12, 13.80timesteps/s]
95%|█████████▌| 3245/3412 [03:58<00:12, 13.80timesteps/s]
95%|█████████▌| 3247/3412 [03:58<00:11, 13.82timesteps/s]
95%|█████████▌| 3249/3412 [03:58<00:11, 13.80timesteps/s]
95%|█████████▌| 3251/3412 [03:59<00:11, 13.80timesteps/s]
95%|█████████▌| 3253/3412 [03:59<00:11, 13.81timesteps/s]
95%|█████████▌| 3255/3412 [03:59<00:11, 13.81timesteps/s]
95%|█████████▌| 3257/3412 [03:59<00:11, 13.81timesteps/s]
96%|█████████▌| 3259/3412 [03:59<00:11, 13.81timesteps/s]
96%|█████████▌| 3261/3412 [03:59<00:10, 13.81timesteps/s]
96%|█████████▌| 3263/3412 [03:59<00:10, 13.81timesteps/s]
96%|█████████▌| 3265/3412 [04:00<00:10, 13.81timesteps/s]
96%|█████████▌| 3267/3412 [04:00<00:10, 13.81timesteps/s]
96%|█████████▌| 3269/3412 [04:00<00:10, 13.81timesteps/s]
96%|█████████▌| 3271/3412 [04:00<00:10, 13.82timesteps/s]
96%|█████████▌| 3273/3412 [04:00<00:10, 13.81timesteps/s]
96%|█████████▌| 3275/3412 [04:00<00:09, 13.82timesteps/s]
96%|█████████▌| 3277/3412 [04:00<00:09, 13.81timesteps/s]
96%|█████████▌| 3279/3412 [04:01<00:09, 13.82timesteps/s]
96%|█████████▌| 3281/3412 [04:01<00:09, 13.81timesteps/s]
96%|█████████▌| 3283/3412 [04:01<00:09, 13.81timesteps/s]
96%|█████████▋| 3285/3412 [04:01<00:09, 13.81timesteps/s]
96%|█████████▋| 3287/3412 [04:01<00:09, 13.82timesteps/s]
96%|█████████▋| 3289/3412 [04:01<00:08, 13.81timesteps/s]
96%|█████████▋| 3291/3412 [04:01<00:08, 13.82timesteps/s]
97%|█████████▋| 3293/3412 [04:02<00:08, 13.81timesteps/s]
97%|█████████▋| 3295/3412 [04:02<00:08, 13.81timesteps/s]
97%|█████████▋| 3297/3412 [04:02<00:08, 13.80timesteps/s]
97%|█████████▋| 3299/3412 [04:02<00:08, 13.80timesteps/s]
97%|█████████▋| 3301/3412 [04:02<00:08, 13.79timesteps/s]
97%|█████████▋| 3303/3412 [04:02<00:07, 13.80timesteps/s]
97%|█████████▋| 3305/3412 [04:02<00:07, 13.80timesteps/s]
97%|█████████▋| 3307/3412 [04:03<00:07, 13.81timesteps/s]
97%|█████████▋| 3309/3412 [04:03<00:07, 13.80timesteps/s]
97%|█████████▋| 3311/3412 [04:03<00:07, 13.80timesteps/s]
97%|█████████▋| 3313/3412 [04:03<00:07, 13.80timesteps/s]
97%|█████████▋| 3315/3412 [04:03<00:07, 13.80timesteps/s]
97%|█████████▋| 3317/3412 [04:03<00:06, 13.80timesteps/s]
97%|█████████▋| 3319/3412 [04:03<00:06, 13.81timesteps/s]
97%|█████████▋| 3321/3412 [04:04<00:06, 13.81timesteps/s]
97%|█████████▋| 3323/3412 [04:04<00:06, 13.82timesteps/s]
97%|█████████▋| 3325/3412 [04:04<00:06, 13.80timesteps/s]
98%|█████████▊| 3327/3412 [04:04<00:06, 13.81timesteps/s]
98%|█████████▊| 3329/3412 [04:04<00:06, 13.81timesteps/s]
98%|█████████▊| 3331/3412 [04:04<00:05, 13.82timesteps/s]
98%|█████████▊| 3333/3412 [04:04<00:05, 13.82timesteps/s]
98%|█████████▊| 3335/3412 [04:05<00:05, 13.81timesteps/s]
98%|█████████▊| 3337/3412 [04:05<00:05, 13.81timesteps/s]
98%|█████████▊| 3339/3412 [04:05<00:05, 13.81timesteps/s]
98%|█████████▊| 3341/3412 [04:05<00:05, 13.81timesteps/s]
98%|█████████▊| 3343/3412 [04:05<00:04, 13.82timesteps/s]
98%|█████████▊| 3345/3412 [04:05<00:04, 13.81timesteps/s]
98%|█████████▊| 3347/3412 [04:05<00:04, 13.81timesteps/s]
98%|█████████▊| 3349/3412 [04:06<00:04, 13.81timesteps/s]
98%|█████████▊| 3351/3412 [04:06<00:04, 13.63timesteps/s]
98%|█████████▊| 3353/3412 [04:06<00:04, 13.68timesteps/s]
98%|█████████▊| 3355/3412 [04:06<00:04, 13.72timesteps/s]
98%|█████████▊| 3357/3412 [04:06<00:04, 13.74timesteps/s]
98%|█████████▊| 3359/3412 [04:06<00:03, 13.76timesteps/s]
99%|█████████▊| 3361/3412 [04:07<00:03, 13.78timesteps/s]
99%|█████████▊| 3363/3412 [04:07<00:03, 13.80timesteps/s]
99%|█████████▊| 3365/3412 [04:07<00:03, 13.79timesteps/s]
99%|█████████▊| 3367/3412 [04:07<00:03, 13.81timesteps/s]
99%|█████████▊| 3369/3412 [04:07<00:03, 13.81timesteps/s]
99%|█████████▉| 3371/3412 [04:07<00:02, 13.82timesteps/s]
99%|█████████▉| 3373/3412 [04:07<00:02, 13.82timesteps/s]
99%|█████████▉| 3375/3412 [04:08<00:02, 13.83timesteps/s]
99%|█████████▉| 3377/3412 [04:08<00:02, 13.83timesteps/s]
99%|█████████▉| 3379/3412 [04:08<00:02, 13.83timesteps/s]
99%|█████████▉| 3381/3412 [04:08<00:02, 13.82timesteps/s]
99%|█████████▉| 3383/3412 [04:08<00:02, 13.82timesteps/s]
99%|█████████▉| 3385/3412 [04:08<00:01, 13.81timesteps/s]
99%|█████████▉| 3387/3412 [04:08<00:01, 13.82timesteps/s]
99%|█████████▉| 3389/3412 [04:09<00:01, 13.82timesteps/s]
99%|█████████▉| 3391/3412 [04:09<00:01, 13.83timesteps/s]
99%|█████████▉| 3393/3412 [04:09<00:01, 13.82timesteps/s]
100%|█████████▉| 3395/3412 [04:09<00:01, 13.84timesteps/s]
100%|█████████▉| 3397/3412 [04:09<00:01, 13.84timesteps/s]
100%|█████████▉| 3399/3412 [04:09<00:00, 13.82timesteps/s]
100%|█████████▉| 3401/3412 [04:09<00:00, 13.82timesteps/s]
100%|█████████▉| 3403/3412 [04:10<00:00, 13.83timesteps/s]
100%|█████████▉| 3405/3412 [04:10<00:00, 13.83timesteps/s]
100%|█████████▉| 3407/3412 [04:10<00:00, 13.82timesteps/s]
100%|█████████▉| 3409/3412 [04:10<00:00, 13.82timesteps/s]
100%|█████████▉| 3411/3412 [04:10<00:00, 13.83timesteps/s]
100%|██████████| 3412/3412 [04:10<00:00, 13.61timesteps/s]
The relative error in the 1-norm is just as good as before, but with the flux limiter the solution does a much better job staying within the bounds of the initial data.
firedrake.assemble(abs(q - q0) * dx) / firedrake.assemble(q0 * dx)
np.float64(0.027156220419849525)
q.dat.data_ro.min(), q.dat.data_ro.max()
(np.float64(-0.008129509947194852), np.float64(0.9836403522058974))
Conclusion¶
Hyperbolic problems are hard. There are difficult decisions to make even at the level of how to formulate the discrete problem. For this demo, we were looking at a scalar conservation laws, and the upwind flux works quite well. But for systems of conservation laws, like the shallow water equations, things become much more involved. You have to know something at an analytical level about the underlying problem -- the wave speeds. Once we've decided which discrete problem to solve, going beyond first-order accuracy is filled with even more challenges. Some issues, like getting a stable enough timestep, often require manual tuning. For the linear problem shown here, we know what the wave speeds are from the outset and we have reasonable confidence that we can pick a good timestep that will work for the entire simulation. The solutions of nonlinear conservation laws can meander to regions of state space where the wave speeds are much higher than where they started and an initially stable timestep becomes unstable. The Right Thing To Do is to use an adaptive timestepping scheme. But you now have the added implementational difficulty of tracking a higher- and lower-order solution with which to inform the adaptation strategy. Hopefully this has shown what some of the typical pitfalls are and what tools are available to remedy them.